Row and column headers shall be identified for data tables
Download
Report
Transcript Row and column headers shall be identified for data tables
IBM Research
Ensuring an Accessible Web
Presence –
Give Your Website an Accessibility
Makeover
Shannon Rapuano, IBM Accessibility Center
[email protected]
Don Barrett, Department of Education
[email protected]
IDEAS Conference, November 2003
© 2002 IBM Corporation
Agenda
Web Accessibility Overview
Makeover techniques to fix four Web Accessibility issues
•
Frames
•
Images
•
Data tables
•
Forms
“Before and “After” Web Sites - listening with IBM Home Page Reader
Testing Strategies
References
© 2002 IBM Corporation
Web Accessibility Overview
Inaccessible Web sites impact many users with different disabilities
Vision: Most impacted due to graphical nature of the Web
•
Images, image maps, image links, animations
•
Use of color, font size, non-scrollable windows
•
Navigation (frames, links, JavaScript, Java)
•
Data tables
•
Filling out forms
Hearing: Growing issues due to increase in audio and multimedia content
•
Audio and multimedia training
•
On-line Web meetings
Mobility: Complex Web page navigation designed for mouse users
•
Frame navigation
•
Navigating link lists
•
JavaScript mouse events
© 2002 IBM Corporation
Web Accessibility Issues
Four common accessibility issues with Web sites
Web Feature
Accessibility Issue
Frames
Screen readers read Web pages sequentially
If Web sites that use Frames do not use meaningful Frame titles,
users cannot easily move to the content they want to read
Images
Screen readers cannot read images without text equivalents
If null alt text is used for important links, they are skipped and the
site is not accessible – even though it may pass an accessibility
checker
Data Tables
Screen readers cannot read row and column headings if they have
not been coded properly by the Web developer
Missing header labels make the table impossible to understand
Forms
Screen readers may not be able to read text labels on form
elements if they have not been coded properly by the Web developer
© 2002 IBM Corporation
Frames
Frames shall be titled w/ text that facilitates frame identification &
navigation
Provide a meaningful title attribute for each FRAME element
•
Meaningful titles aid navigation of the Web site (e.g. “Main Content”, “Navigation”,”Logo”)
•
IBM HPR Frame list uses Page Title, Frame title attribute, Frame name attribute
•
JAWS Frame list uses Frame title attribute, Frame name attribute, Page Title
•
Most accessibility checkers check for the presence of the Frame title attribute (not if meaningful)
Incorrect coding for FRAME elements
<frameset> <frame src=“bp_left.html">
<frame name="top" src=“bp_header.html“>
<frame title="body_center" src=“maincontent.html"> </frameset>
Correct coding for FRAME elements
<frameset> <frame title=“Navigation” src=“bp_left.html">
<frame name=“top” title=“Logo” src=“bp_header.html">
<frame title=“Main Content” src=“maincontent.html"> </frameset>
© 2002 IBM Corporation
Images
Text equivalent for every non-text element shall be provided
Alternate text (alt text)
•
Use alt=“text description” to provide text equivalents for images, graphs, charts
•
Use null alt text (alt=“”) if images are unimportant or if they are redundant
•
Do not use alt=“” for image links unless they are redundant
•
Do not use alt=“ “ to implement null alt text
•
Do not use alt=“text link” or alt=“text graphic”
•
Accessibility checkers check for the presence of alt=“text” or alt=“”
Add alt text for all image links (input type=“image”)
<img src=“sam.gif”
alt=“picture of
Sam”>
Correct alt text for spacer images:
<img src= “spacer.gif” alt=“”>
Incorrect alt text:
<img src=“spacer.gif” alt=“spacer.gif”>
Correct alt text:
<input type=“image”
name=“Go” src=go.gif alt=“Go”>
Incorrect use of null alt text:
<input ytpe=“image”
Name=“Go” src=“go.gif alt=“”>
© 2002 IBM Corporation
Forms
Forms shall allow people using AT to access … functionality required for the
completion and submission of the form
Most form elements require explicit labels (e.g. text fields, checkboxes, radio
buttons) so they can be read by assistive technology
•
Associate text labels using the LABEL element and the for attribute
•
Proximity is not sufficient to help assistive technology “see” field labels
•
Most accessibility checkers check for the presence of the LABEL element
Incorrect coding of a text field for accessibility
•
Missing LABEL element: Search<br> <input name=“yourname”>
•
Missing id tag: <label for=“search”> Search</label> <br> <input name=“yourname”>
•
Incorrect id tag: <label for=“search”>Search</label> <br> <input name=“yourname” id=“mine”>
•
Implicit LABEL: <label>Search </label><br> <input name=“yourname”>
Correct coding of a text field for accessibility
<label for=“search”> Search</label><br> <input name=“yourname” id=“search”>
© 2002 IBM Corporation
Tables
Row and column headers must be defined for data tables
Row and column headers must be defined for row/column headers
•
Use the TH element to mark up heading cells
•
Use the scope attribute to identify row / column headings
•
Use the headers and id attribute to identify row / column headings on complex tables that
use rowspan or colspan
•
Accessibility checkers identify “possible” errors for tables since distinguishing between data
and layout tables is difficult
The CAPTION element can be used to associate a title with the table
•
<caption>Computer Science Job Openings - November 2003</caption>
The summary attribute can be used to provide additional information about the table
•
<table summary="Table that summarizes federal job openings by date">
© 2002 IBM Corporation
Data Tables Using Scope Attribute
Row and column headers shall be identified for data tables
Inaccessible table headers:
Accessible table headers using scope
<tr>
<td>Job Position</td> <td> Level</td>
<td>Location</td> <td>Agency</td></tr>
…….
<tr>
<td>Computer Scientist</td>
<td>GS-17</td>
<td>US-MS-Vicksburg</td>
<td>Army Research Lab</tr>
<tr><td>Army Corps of Engineers</td></tr>
<tr>
<td>US-MD-Prince George County</td>
<td>Army Research Lab</td></tr>
……
<tr>
<th scope=“col”>Job Position</th>
<th scope=“col”>Level</th> <th scope=“col”>Location</th>
<th scope=“col”>Agency</th></tr>
…..
<tr>
<th scope=“row”>Computer Scientist</th>
<th scope=“row”>GS-17</th>
<td>Army Lab</td>
<td>Army Research Lab</td></tr>
<tr> <td>Army Corps of Engineers</td></tr>
<tr>
<td>US-MD Prince George County</td>
<td>Army Research Lab</td></tr>
……
© 2002 IBM Corporation
Data Tables Using Headers and ID Attributes
Row and column headers shall be identified for data tables
Inaccessible table headers:
Accessible table headers using headers tag
<tr>
<td>Job Position</td> <td> Level</td>
<td>Location</td> <td>Agency</td></tr>
…….
<tr>
<td>Computer Scientist</td>
<td>GS-17</td>
<td>US-MS-Vicksburg</td>
<td>Army Research Lab</tr>
<tr><td>Army Corps of Engineers</td></tr>
<tr>
<td>US-MD-Prince George County</td>
<td>Army Research Lab</td></tr>
……
<tr>
<th id=“col1”>Job Position</th> <th id=“col2”>Level</th>
<th id=“col3”>Location</th> <th id=“col4”>Agency</th></tr>
…..
<tr>
<th headers=“col1” id=“compsci” >Computer Scientist</th>
<th headers=“col2” id=“gs17” >GS-17</th>
<td headers=“compsci gs17 col3”>US-MS-VicksBurg</td>
<td headers=“compsci gs17 col4”>Army Research
Lab</td></tr>
<tr>
<td headers=“compsci gs17 col4”>Army Corps of
Engineers</td></tr>
……
© 2002 IBM Corporation
Web Accessibility Techniques
Summary of accessibility techniques
Object
Accessibility Technique
Frames
Use the Frame title attribute to add meaningful name to your frame
Images
Use alt text for important images (alt=“your text”)
Use null alt text for unimportant or redundant images (alt=“”)
Data Tables
Use the TH element to identify row and column headers
Use headers and id attributes to identify row and column headers in
complex tables
Use the scope attribute on tables that don’t use rowspan or colspan
Forms
Use the LABEL element to associate text labels with form elements
© 2002 IBM Corporation
IBM Web Accessibility Checklist
IBM Web Accessibility Checklist includes detailed techniques
Section 508 Standards
Images
1.
Rationale
2.
Techniques
JavaScript
1.
Rationale
2.
Techniques
3.
Testing
Frames
1.
Rationale
2.
Techniques
3.
Testing
1.
Tools
2.
Tips
Test w/ HPR
1.
Setup
2.
How to
3.
Techniques
www.ibm.com/able/guidelines/index.html
© 2002 IBM Corporation
Web Accessibility Testing
Accessibility testing strategy
No tool can test all Web standards automatically
Verification requires use of automated checkers, assistive technology and manual checks
•First run an automated checking tool and fix any errors identified in reports
•Listen with assistive technology like HPR to ensure the site is accessible and usable
-Logon pages, templates, navigation
-Pages with data tables, forms and multimedia
•Verify keyboard access
-F6 to frames
-Tab to links and controls (e.g. form input fields)
-JavaScript keyboard access
•Additional manual checks for some standards
-JavaScript
-Color
-Multimedia
© 2002 IBM Corporation
Additional Resources
Additional references to learn more about Web accessibility
IBM Accessibility Center
•http://www.ibm.com/able/index.html
IBM Web Accessibility Checklist and Techniques
•http://www.ibm.com/able/guidelines/web/accessweb.html
IBM Home Page Reader
•Test instructions: http://www.ibm.com/able/guidelines/web/webhprtest.html
•Trial Download: http://www.ibm.com/able/solution_offerings/hpr.html
Guide to Section 508 Standards for Web Accessibility
•http://www.access-board.gov/sec508/guide/1194.22.htm
Web Accessibility Tutorial from Jim Thatcher
•http://www.jimthatcher.com/webcourse1.htm
© 2002 IBM Corporation