FreedomScientific / standards-support

Contains documentation for Vispero software support of Web standards
https://freedomscientific.github.io/standards-support/
GNU General Public License v3.0
108 stars 11 forks source link

HTML table `colspan` attribute not supported in Firefox #545

Open glin opened 3 years ago

glin commented 3 years ago

Summary

Hi, when using JAWS in Firefox, the colspan attribute doesn't seem to be supported for headers and cells in HTML tables. There are two main issues I've noticed when navigating tables with spanned headers or cells:

  1. JAWS doesn't announce the number of columns spanned for the header or cell
  2. JAWS may associate headers and cells with the wrong column group header

These issues aren't present in Chrome or IE11 from my testing, so this could possibly be a browser issue.

On a similar note, I've also noticed that the rowspan attribute isn't supported in Firefox, but I haven't done as much testing on spanned rows.

Steps to reproduce

  1. In Firefox, go to https://q83io.csb.app/. Or alternatively, download this HTML file and remove the .txt extension: html-tables-colspan.html.txt
  2. Navigate to the first table, and navigate through each cell in the table row-by-row.

This example contains two tables that each have three rows and four columns, with two column groups that each span two columns.

The tables are identical except the second one adds the headers and id attributes to associate cells with their column group. The additional markup doesn't change how the table is read in Firefox or Chrome, but I've included it in case it's useful.

Expected result

I expected JAWS to read the number of columns spanned for each header (e.g., "spans 2 columns"), and correctly associate headers and cells with their column group. For example, this is what JAWS reads in Chrome when navigating through each cell in the table:

table with 4 columns and 3 rows

Column 1, Row 1, Produced, Winter, Spans 2 columns
Produced, Summer, Spans 2 columns, Column 2

Column 1, Row 2, Winter, Produced
Winter, Sold, Column 2
Summer, Produced, Column 3
Summer, Sold, Column 4

Column 1, Row 3, Winter Produced, 10
Winter Sold, 20, Column 2
Summer Produced, 30, Column 3
Summer Sold, 40, Column 4

Actual result

JAWS doesn't read the number of columns spanned for any header, and associates headers and cells with the wrong column group. For example, JAWS associates the second column with the "Summer" group, but it should really be the "Winter" group. Here's what JAWS reads in Firefox when navigating through each cell in the table:

table with 4 columns and 3 rows

Column 1, Row 1, Winter
Summer, Column 2

Column 1, Row 2, Winter, Produced
Summer, Sold, Column 2
Produced, Column 3
Sold, Column 4

Column 1, Row 3, Winter Produced, 10
Summer Sold, 20, Column 2
Produced, 30, Column 3
Sold, 40, Column 4

Additional Information

JAWS version and build number

JAWS 2021.2105.53 ILM

Operating System and version

Windows 10.0.19041 Build 19041

Browser and version:

BenKeyFSI commented 3 years ago

Reported as Bug 123388 {HTML table colspan attribute not supported in Firefox} in the Vispero Bugzilla.