There are two types of tables, layout tables which are used to structure the visual appearance of a page, and data tables. Layout tables can be very complex with tables nested within tables. Invisible tables are quite often used to create multicolumn layouts that display consistently across browsers.
Invisible tables use table border="0" or specify no table border as part of the style sheet.
If you have product pages as part of your website, you may be using layout tables to present those products. If you are going to use tables for layout, a few things you should remember include:
The question you need to ask yourself is: "Does the linear order of the table present the page content in an understandable manner?" You can answer that question about your own layout tables by using two testing tools. They are Wave 2.01/2.2 or the Lynx Viewer .
Lynx is a text-only Web browser and is a good place to start when analyzing your web page. If your page can be read in a natural manner as Lynx displays it, you can be fairly sure that Jaws will speak the page in much the same way.
NOTE: Before you can use the online service, you will need to upload a file to your server space to "prove" you are the webmaster. You can also download a copy of the Lynx Viewer to your computer to use in testing your pages.
Another way to check the reading order of table cells is to use the Opera browser. Opera allows the user to turn off tables completely.
In Opera, select User Mode > Disable tables.
Data tables are used to present information in a tabular format. Table markup has several components and attributes that can be used to identify the elements in a standard data table: column headings, row headings, caption, and content summary. When these elements are used properly, a data table can be understood by both visual and nonvisual users. The screenshot below shows a data table.
Clicking on the above table will take you to a page with the actual table that lists all of the Expression Web tutorials.
Another way to check the reading order of table cells is to use the Opera browser. Opera allows the user to turn off tables completely.
In Opera, select User Mode > Disable tables.
When accessing tabular information, nonvisual users rely on software to provide context. A properly coded table enables software to announce the column and row headings that are associated with a table cell. However, a complex table with multiple dimensions and spanned columns or rows can be difficult for software to interpret effectively. ~ Simplify data table layouts
Someone who is visually impaired and uses a screen reader or talking browser would hear the information from the table shown above as:
Title Summary Program/Site Specific
Accessible Forms Creating Accessible Forms in Expression Web. EW - all versions
Creating a New Font Family Group in Expression Web If the font family you want to
use in your style sheet is not listed, you can create new font family groups. EW
- all versions
You can see the table and probably make sense of it, a screen reader will not. We can add some elements to this table to make it more accessible.
Tables can be made accessible in one of two ways:
Content MUST be labeled to give visually impaired users a sense of context, since they are not able line up columns and rows. That information is provided by using ID and Headers, or Scope attributes in simple tables (single row of headings) and by <th>T head and <tbody>T body tags that associate headers with columnar data in complex tables (tables with multiple rows of headings).
There are some elements we can add to this table to make it more accessible. The first thing we should include in any table is a caption and a summary. The caption will be visible to all users, the summary is a bit of hidden code for screen reader.
A good caption should provide a short heading for the table. The caption will be rendered on the screen when your document is accessed so keep it simple but coherent.
Type the information you want as the caption for the table. The html code will be added just below your opening table tag.
The summary attribute should contain a summary of the way the table is laid out - not a summary of the results. It should provide an orientation for someone who listens to the table. It is not necessary and adds unneeded code to describe the structure of a table used for layout.
If you view the code for your table, it now contains a summary of the table contents and a caption. These attributes give an overview of your table.
Column and/or Row Headers deal with the internal setup of your data tables. Each table cell is either a pure data cell <td> or a header cell <th>. The default style for headers is centered and bold. You can change the appearance by defining the style in your style sheet.
The <scope> attribute specifies if this cell provides header information for the rest of the row that contains it (row), or for the rest of the column (col), or for the rest of the row group that contains it (rowgroup), or for the rest of the column group that contains it.
The SCOPE attribute works best with tables that have one or two dimensions — just one set of column headings and one set of row headings.
Accessible Table Example with styling
The tutorial only touches on using simple data tables. You will find additional resources on creating accessible complex tables and layout tables by using the resource links listed below:
Copyright 2011 Expression Web
Tutorials & Templates
Written March 2011
Expression Web 4.0 Tutorials 2nd Edition from Install to Publish, a FREE EBook by Pat Geary.
Expression Web has a group on Facebook. If you are a FB user, come join us.
Disclosure: This is an affiliate link, which means that if you visit Bluehost.com through this link and purchase this product, I’ll get a commission.
April 2007 - April 2013
Privacy Policy | Migrating from FrontPage to Expression Web
Microsoft® and Expression Web® are registered trademarks of Microsoft® Corporation.
Site Design & Maintenance : Expression Web Tutorials & Templates