Configuring
Accessibility
For
example, many a user does not use a conventional mouse, and other users use
screen readers to read the text on Web sites, rather than displaying it on a
monitor.
Public
Accessibility Guidelines:
W3C
WCAG standard and US Government’s Section 508 Rehabilitation Act.
How
ASP.NET Controls Support Accessibility
For
example, login controls such as Login, ChangePassword, PasswordRecovery, and
CreateUserWizard use text boxes with associated labels to help a user who uses
a screen reader or who does not use a mouse.
Another
way some ASP.NET controls support accessibility is by allowing users to skip
link text. Screen readers typically read the text of links from the top to the
bottom of a page, enabling users to choose a specific link. ASP.NET controls
that include navigation links provide the SkipLinkText property, which
is enabled by default and allows users to skip past the link text. The CreateUserWizard,
Menu, SiteMapPath, TreeView, and Wizard controls each support skipping
links.
<a
href="#Menu1_SkipLink">
<img
alt="Skip Navigation Links" src="/WebResource.axd?d=_9Q2Lm"
width="0" height="0" />
</a>
…
menu links …
<a
id="Menu1_SkipLink"></a>
The
simplest way to follow this best practice is to use one of the ASP.NET controls
that provide the SkipLinkText property.
Improving
Visual Accessibility:
- Describe every image by providing alt text using the AlternateText property
You can also set the Image.DescriptionUrl
property to specify an HTML page that further describes an image. If an image
is not important, set the GenerateEmptyAlternateText property to True to cause
screen readers to ignore it.
- Use solid colors for background and use contrasting colors for text
- Create a flexible page layout that scales correctly when text size is increased
- Set the Table.Caption property to a description of the table:
Whether he or she wants to hear the
contents of the table or skip past it.
- Provide a way to identify column headers
Table t = new Table();
TableHeaderRow tr = new TableHeaderRow();
t.Rows.Add(tr);
tr.TableSection
= TableRowSection.TableHeader; //TableFooter, TableBody
TableHeaderCell tc = new TableHeaderCell();
tr.Cells.Add(tc);
tc.AssociatedHeaderCellID
= new string[]
{ "Column1" };
tc.Scope = TableHeaderScope.Column;
The Calendar,
DetailsView, FormView, and GridView ASP.NET server controls render HTML tables
with these features.
- Avoid defining specific font sizes
Use heading tags (such as <H1> or
<H3>) instead of font sizes to support the user’s formatting options.
- Avoid requiring client scripts
- Assistive technologies often cannot render client scripts, so you should use client script only for nonessential effects, such as mouse rollovers.