Structured Markup Facilitates Critical Functionality

Enabling Functional Long Description Content

Structured markup encodes information about the structural role of elements that in turn enables functional long description content. It is apparent [Jordan, 2006] that,

For accessibility, structural markup is important because software can use structure to perform functions for the user and provide better access to page content. For example, software that reads web pages, such as voicing browsers and screen reader software, can audibly differentiate headings from other text so that the information structure of the page is communicated to non-visual users. In addition, software can provide optional views such as heading lists, which display a list of headings; or heading reading mode, which reads only headings, giving non-visual users a means to quickly skim a document.

Screen readers help their users find and jump to the information that they need more quickly by using keyboard shortcuts for headings, tables, lists etcetera.

JAWS Examples

JAWS (Job Access for Windows and Speech) is a popular screen reader program created by Freedom Scientific that allows people who are blind to gain access to information on their computers. It utilizes structural markup to enable keyboard commands that provide users functionality. The following are some examples.

Function Keyboard Command
List Headings INSERT+F6
Next Heading H
Prior Heading SHIFT+H
Next Heading at Level 1 through 6
Prior Heading at Level SHIFT+1 through 6
First Heading at Level INSERT+ALT+CTRL+1 through 6
Last Heading at Level INSERT+ALT+CTRL+SHIFT+1 through 6
Function Keyboard Command
Prior Paragraph CTRL+UP ARROW
Next Paragraph CTRL+DOWN ARROW
Current Paragraph CTRL+NUM PAD 5
Lists and Divisions
Function Keyboard Command
Next List L
Prior List SHIFT+L
Select List F8
List All Ordered, Unordered, and Definition Lists INSERT+CTRL+L
Next Item in a List I
Prior Item in a List SHIFT+I
Next Division Z
Prior Division SHIFT+Z
List Divisions INSERT+CTRL+Z
Function Keyboard Command
Next Table T
Prior Table SHIFT+T
Select Table F8 (when on the line that announces number of rows and columns)
Jump to Table Cell (from within a table) CTRL+WINDOWS Key+J
Return to Previous Cell CTRL+SHIFT+WINDOWS Key+J
Current Cell CTRL+ALT+NUM PAD 5
Current Row WINDOWS Key+NUM PAD 5
Read from Beginning of Row to Current Cell INSERT+SHIFT+HOME
Read from Current Cell to End of Row INSERT+SHIFT+PAGE UP
Current Column WINDOWS Key+PERIOD
Read from Top of Column to Current Cell INSERT+SHIFT+END
Read from Current Cell to Bottom of Column INSERT+SHIFT+PAGE DOWN
Function Keyboard Command
Next Same Element S
Prior Same Element SHIFT+S
Next Different Element D
Prior Different Element SHIFT+D
Move to Beginning of the Current Table, List, or Element WINDOWS Key+HOME
Move to End of the Current Table, List, or Element WINDOWS Key+END
Prior Element SHIFT+COMMA
Select Entire Element F8
Display Element Information INSERT+SHIFT+F1
Display Detailed Element Information INSERT+CTRL+SHIFT+F1

Plain String Text Voids This Functionality

Due to the August 13, 2012 Chairs' decision on Issue 204, spec text from Allow ARIA Attributes to Reference Hidden Elements changes HTML5 to state,

...authors SHOULD NOT reference hidden content which would lose essential meaning when flattened.

Even though it can point to structured content such as headings, lists, paragraphs, and tables and the new spec text from the Allow ARIA Attributes to Reference Hidden Elements proposal encourages user agents to expose the full semantics of hidden elements to assistive technology, as implemented aria-describedby/hidden is limited in its ability to process structured content. Accessibility APIs that aria-describedby maps to do not support structured content due to key-binding focus requirements for sighted keyboard users who cannot use a mouse. Sighted keyboard users need to know where their focus is so they do not become disoriented. Focused items need to be visible.

Consequently off-screen controls are not included in the tab order, exposed in the accessibility tree, listed in enumerations of controls (e.g. JAWS link list), or available to skip commands.

This means that most assistive technology treats aria-describedby target content as though it does not have any mark-up. It is treated as a string. Structure is stripped. A user's reading keys will not work. Users are not able to interact with the content.

As the WAI-ARIA 1.0 Authoring Practices explains using aria-describedby to point to a hidden link would be futile because a user would not be able to to navigate to and activate the link:

When the author does not desire the entire descriptive text to be located on the main page, aria-describedby can also be used to point to a link to another page.

  <div id="figuretitle"> Figure 1-1: Entity Relationship Diagram showing EMP and DEPT</div>
   <img src="foo" aria-labelledby="figuretitle" aria-describedby="link1">
   <a href="descriptionLocation.html" id="link1">
    Description of Figure 1-1: Entity Relationship Diagram showing EMP and DEPT</a>

It is not good practice to use the above pattern when the describing elemen - the <a> tag with @id='link1'- is hidden , since there is no way for a user to navigate to and activate the link. Use the technique only when the description is not hidden.

None of this is a problem with longdesc. Longdesc supports structured content. Reading keys and links work.

Examples in the Wild Utilize Structured Markup

Sites in the wild utilize structural markup in long description pages. For instance Aboriginal Affairs and Northern Development Canada, ACCESS-ed: University of Wisconsin - Milwaukee, Accessibilité du Web, Affaires autochtones et Développement du Nord Canada, California Department of Fish and Game, Camera Obscura, Canada's Department of Justice, Canadian Grain Commission, Canadian Space Agency, Centers for Disease Control and Prevention (CDC), Cornell University, Commonwealth of Massachusetts, Connexions, Correctional Service Canada, Courts Administration Service (Canada), CSS Work, CSS Squirrel, Daegu Metropolitan Office of Education (South Korea), Department of Sustainability, Environment, Water, Parcs Canada, Parks Canada, Population and Communities (Australia), Department of Transportation (Taiwan), dizABLED, Elections Canada, Free Technology Academy, Giheung-Gu Yong-in City (South Korea), Graphical Object Server for Non-Visual Interaction (GONVI), Grinning Planet, Hamilton College, Hawaii Public Schools, Health and Safety Executive (UK), Health Resources and Services Administration, Hipocampo, IBM, IDCnet: Inclusive Design Curriculum Network, Immigration and Refugee Board of Canada, Indiana University-Purdue University Indianapolis Common Core Curriculum Committee, Iris Fernandez: BETA Weblog, educación y tecnología en Argentina, Kilkee, County Clare, Ireland, Korea Employment Information Service (South Korea), Kyungpook (South Korea), Local Government Commission, Lusophone countries - Convention on the Rights of Persons with Disabilities (Portuguese), Marine National Park (Taiwan), Mesothelioma Center, Michigan State University, Ministère des Relations internationales - Gouvernement du Quèbec, Monterey County, National Center for the Dissemination of Disability Research, National Institute of Information and Communications Technology (Japan), National Institute of Standards and Technology (NIST) , National Institutes of Health (Canada), National Institutes of Health (United States), National Transportation Safety Board, New Zealand Department of Labor, Northern Ireland Planning Service, Object Description, Office of the Commissioner of Review Tribunals, Ohio Dental Clinics, Ohio Dental Clinics, Ohlone College, Oriental Hospital of Daejeon University (South Korea), PARIS WEB, Province of Gyeongsangbuk (South Korea), Public Safety Canada, Rebuilding The Web,Régie des rentes du Québec, Resources naturelles Canada, Sésame Province de Luxembourg (Belgium), San Diego University, Social Security Online, Specific Claims Tribunal Canada, Special Education Support Center (South Korea), Statistics Canada, Statistique Canada, Texas Comptroller of Accounts, Susan Combs, Texas State Library, Trace Center, Transportation Safety Board of Canada Tribunal des revendications particulières Canada, Transportation Safety Board of Canada, Treasury Board of Canada Secretariat, Reports on Plans and Priorities, U.S. Department of Health and Human Services, Assistant Secretary for Planning and Evaluation, U.S. Department of Transportation Federal Highway Administration, U.S. General Services Administration, U.S. Patent and Trademark Office, U.S. State Department, UK Blind Piano Tuners, Universal Remote Console Consortium, University of Minnesota Duluth, W3C HTML5 Accessibility Bugs, W3C Rich Web Applications Backplane Incubator Group, Web Content Accessibility Guidelines (WCAG), Wrexham County Borough Council (UK), Yasui (Japan), York University (Canada), and Zew all use structural markup.