You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Scott O'Bryan (JIRA)" <de...@myfaces.apache.org> on 2009/02/11 20:17:02 UTC

[jira] Resolved: (TRINIDAD-1371) JAWS: layout tables incorrectly identified as data tables

     [ https://issues.apache.org/jira/browse/TRINIDAD-1371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Scott O'Bryan resolved TRINIDAD-1371.
-------------------------------------

       Resolution: Fixed
    Fix Version/s:  1.2.11-core
                    1.0.11-core

This has been applied.  Thanks!

> JAWS: layout tables incorrectly identified as data tables
> ---------------------------------------------------------
>
>                 Key: TRINIDAD-1371
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1371
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Components
>    Affects Versions: 1.2.10-core, 1.0.10-core
>         Environment: Windows, JAWS8
>            Reporter: Andy Schwartz
>            Assignee: Scott O'Bryan
>            Priority: Minor
>             Fix For:  1.0.11-core,  1.2.11-core
>
>         Attachments: jira1371_for_Trinidad_trunk_1.0.x.patch, jira1371_for_Trinidad_trunk_1.2.x.patch
>
>
> JAWS distinguishes between two types of HTML tables:
> 1. Data tables
> 2. Layout tables
> Data tables should have markup that identify column/row headers (eg. <th> elements with scope="col|row") as well as non-empty summary attributes.  JAWS provides special support for navigating to data tables as well as for navigating between cells within data tables.
> Layout tables should not contain any row/column header markup and should specify an empty summary attribute.  These tables should be completely transparent to screen reader end users since they are only used for layout purposes.
> Unfortunately JAWS sometimes gets confused and treats some layout tables as if they are data tables.  This is bad, since this adds "noise" to the screen read reader experience - ie. JAWS reports the presence of tables that are not interesting to blind users.
> To see this in action, access the following panelFormLayout demo via JAWS:
> http://www.irian.at/trinidad-demo/faces/components/panelFormLayout.jspx
> To see which tables JAWS considers to be data tables, do the following:
> - Hit Insert+F3 to bring up the JAWS "Virtual HTML Featuers" dialog
> - Arrow down to the "Tables List" item and hit Enter
> - JAWS brings up the "Select a Table" dialog, which lists the data tables.
> In the panelFormLayout demo, the only data table in the page is the "Attributes" table.  However, JAWS incorrectly reports 4 other layout tables rendered by the panelFormLayout component as being data tables.
> A simple technique for forcing JAWS to recognize layout tables is to include the  datatable="0" attribute on the HTML table element.  This is non-standard attribute that JAWS checks to determine whether a particular HTML table is a data/layout table.  
> This fix for this bug is to enhance OutputUtils.renderLayoutTableAttributes() to render the datatable="0" attribute when in screen reader mode (ie. when CoreRenderer.isScreenReaderMode() returns true).  This will force JAWS to treat any Trinidad-rendered layout tables as layout tables and avoid confusion with data tables.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.