Skip to main content

Configuring Accessibility in ASP.NET



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:
  1. 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.
  1. Use solid colors for background and use contrasting colors for text
  2. Create a flexible page layout that scales correctly when text size is increased
  3. 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.
  1. 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.
  1. Avoid defining specific font sizes
Use heading tags (such as <H1> or <H3>) instead of font sizes to support the user’s formatting options.
  1. Avoid requiring client scripts
  2. Assistive technologies often cannot render client scripts, so you should use client script only for nonessential effects, such as mouse rollovers.
WCAG standards do not allow controls that require client scripts, so if you must comply with these standards, you should also avoid using the LinkButton, ImageButton, and Calendar controls.

Popular posts from this blog

Culture Information and Localization in .NET

Namespace: System.Globalization CultureInfo Class:                 It provides information like the Format of numbers and dates, Culture’s Calendar, Culture’s language and sublanguage (if applicable), Country and region of the culture. The Basic use of CultureInfo class is shown here: • How string Comparisons are performed • How Number Comparison & Formats are performed • Date Comparison and Formats. • How resources are retrieved and used. Cultures are grouped into three categories: Invariant Culture : It’s Culture Insensitive. It can be used to build some trial application. It can be also used to build an application with hard-coded expiry date that ignores cultures. But using it for every comparison will be incorrect and inappropriate. Neutral Culture : English(en), Frensh(fr), and Spanish(sp). A neutral culture is related to language but it’s not related to specific regi...

Text Encoding and Decoding using .Net

Namespace: System.Text To read a file, an application must write information about the encoding in which the file was written. So, the application that creates a file must write encoding information, otherwise viewer will see block and question marks in file. Unicode UTF-32 encoding : Represents a character as sequence of four bytes (32 bits). UTF32Encoding class can be used in that perspective. Unicode UTF-16 encoding : Represents a character in 16 bits. UnicodeEncoding class can be used to convert to and from UTF-16 encoding. Unicode UTF-8 encoding : Unicode UTF-8 uses 8-bit, 16-bit, 24-bit, and up to 48-bit encoding. Values 0 through 127 use 8-bit encoding and exactly match ASCII values, 128 through 2047 use 16-bit encoding, and values from 2048 and 65535 uses 24-bit encoding. UTF8Encoding class can be used to convert to and from UTF-8 encoding. ASCII encoding : ASCII encoding encodes Latin alphabets as single 7-Bit ASCII character. It is not well su...

Using ADO.NET Transaction Object, Saving CLR Objects and SqlNotificationRequest

Serializable allows one transaction to complete before the other start. SqlConnectoin support named savpoint to roll back to; that’s an equaliant to save transaction command in MS SQL Server. Using TransactionScope Object : A transaction can’t span multiple connections.   Local and distributed transaction ares supported in 1.x you have to Enterpeise seveices library to regiser multiple connections and then call EnlistDistributedTransaction. Distributed Transaction Coordinator is required for Distributed transaction that’s available on windows 2000 & +. In 2.X and later use TransactionScope object. Serializable allows one transaction to complete before the other start. SqlConnectoin support named savpoint to roll back to; that’s an equaliant to save transaction command in MS SQL Server. Using TransactionScope Object : Dispoase of the transaction must be called to complete the transaction. Distributed Transaction : ...