Links to alternative formats

Must

Links to alternative formats must indicate that an alternative is opening.

Description

Unexpectedly opening an item in another format and/or application could cause any user to become disoriented. This is especially relevant for users with cognitive impairments or using assistive technology.

It is important to inform the user that they will be going to a different format and/or application and what that will be, so that they know what to expect and where they are.

IOS

Display a message box before launching the external app or put this information in the label or hint text. Equally an ‘external link’ icon could also be used to indicated to users that a link leaves the app. Links out of an app are typically given a trait of link while links within an app are given a trait of button.

iOS example

// Example 1
UIAlertView *messageBox = [[UIAlertView alloc] initWithTitle: NSLocalizedString (@"Alert!", @"Message box title") message: NSLocalizedString (@"This will open in your browser", @"Message box content") delegate:nil cancelButtonTitle: NSLocalizedString (@"OK", @"Agree to message button title") otherButtonTitles:nil];
    [messageBox show];
    // Launch the app in the handler for the alert view once the user presses the button

// Example 2
UIButton *pdfButton = [UIButton buttonWithType:UIButtonTypeCustom]; 
[pdfButton setTitle: NSLocalizedString("View annual report in PDF", Object.nil)]                        
  • Launch the app without a warning.
  • No indication that a button opens a document in a different format.
  • The link out of the app is coded as a button.
                        

ANDROID

Display a message box informing the user of the application switch or include this information in the control contentDescription.

Android example

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        switch (which){
        case DialogInterface.BUTTON_POSITIVE:
            //Yes button clicked
            break;

        case DialogInterface.BUTTON_NEGATIVE:
            //No button clicked
            break;
        }
    }
};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure?").setPositiveButton("Yes", dialogClickListener)
    .setNegativeButton("No", dialogClickListener).show();                        

Failure to launch a message box or failure to place information about the alternative in the contentDescription attribute.

                        

HTML

This may be done at the end of the link text, as text or an icon with a text alternative.

HTML example

<a href="...">Annual report <img src="html.jpg" alt="[HTML format]" /></a>
<a href="...">Annual report <img src="pdf.jpg" alt="[PDF format]" /></a>                        
<!-- HTML version -->
<a href="...">Annual report </a>
<!-- PDF version -->
<a href="...">Annual report </a>                        

TESTING

 

Procedures
  1. Activate the app.
  2. Verify that a single interface is provided to allow access by all individuals.
  3. If an alternative format is provided, verify that a warning and link is provided to the alternative.
Results

Either of the following checks must be true:

  • The app provides a single interface to be accessed by all users;
  • A warning and link is provided to an alternative.