[Skip navigation links]
Login

Data table with td headers attribute Screen reader compatibility

Last updated: October 16, 2021

Expected Result: works in a screen reader

Actual Result: causes problems in 26 screen reader / browser combinations

WCAG Technique: H43: Using id and headers attributes to associate data cells with header cells in data tables

Code used for this test:


        <table>
        <tr>
            <th rowspan='2' id='h'>Homework</th>
            <th colspan='3' id='e'>Exams</th>
            <th colspan='3' id='p'>Projects</th>
        </tr>
        <tr>
            <th id='e1' headers='e'>1</th>
            <th id='e2' headers='e'>2</th>
            <th id='ef' headers='e'>Final</th>
            <th id='p1' headers='p'>1</th>
            <th id='p2' headers='p'>2</th>
            <th id='pf' headers='p'>Final</th>
        </tr>
        <tr>
            <td headers='h'>15%</td>
            <td headers='e e1'>15%</td>
            <td headers='e e2'>15%</td>
            <td headers='e ef'>20%</td>
            <td headers='p p1'>10%</td>
            <td headers='p p2'>10%</td>
            <td headers='p pf'>15%</td>
        </tr>
        </table>
    

Reliability Trend

This graph shows reliability over time for this code in NVDA, JAWS and Voiceover. Other screen readers don't have enough historical data yet to plot trends.

100%80%60%40%20%0%201550%201650%201750%201850%201950%202063%202163%

Change History

Last updated: October 16, 2021

Screen readerBrowserModeNotesWhat the user hears
OK NVDA 2021.2Chrome 94 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2, homework homework, column 1, homework. Row 1, exams 1, column 2 through 4, exams. Projects 1, column 5 through 7, projects. Row 2, exams 1, column 1, one. Exams 2, column 2, two. Exams final, column 3, final. Projects 1, column 4, one. Projects 2, column 5, two. Projects final, column 6, final. Row 3, homework homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2021.2FF91 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2 column 1, homework. Row 1 column 2 through 4, exams. Column 5 through 7, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2021.2Edge 94 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2, homework homework, column 1, homework. Row 1, exams 1, column 2 through 4, exams. Projects 1, column 5 through 7, projects. Row 2, exams 1, column 1, one. Exams 2, column 2, two. Exams final, column 3, final. Projects 1, column 4, one. Projects 2, column 5, two. Projects final, column 6, final. Row 3, homework homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2020.2Chrome 86 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2, homework homework, column 1, homework. Row 1, exams 1, column 2 through 4, exams. Projects 1, column 5 through 7, projects. Row 2, exams 1, column 1, one. Exams 2, column 2, two. Exams final, column 3, final. Projects 1, column 4, one. Projects 2, column 5, two. Projects final, column 6, final. Row 3, homework homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2020.2FF78 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2 column 1, homework. Row 1 column 2 through 4, exams. Column 5 through 7, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2020.2Edge 92 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2, homework homework, column 1, homework. Row 1, exams 1, column 2 through 4, exams. Projects 1, column 5 through 7, projects. Row 2, exams 1, column 1, one. Exams 2, column 2, two. Exams final, column 3, final. Projects 1, column 4, one. Projects 2, column 5, two. Projects final, column 6, final. Row 3, homework homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2019.2Chrome 79 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2, homework homework, column 1, homework. Row 1, exams 1, column 2 through 4, exams. Projects 1, column 5 through 7, projects. Row 2, exams 1, column 1, one. Exams 2, column 2, two. Exams final, column 3, final. Projects 1, column 4, one. Projects 2, column 5, two. Projects final, column 6, final. Row 3, homework homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2019.2FF68 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2 column 1, homework. Row 1 column 2 through 4, exams. Column 5 through 7, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
Fail NVDA 2019.2IE11 ReadingOnly first row TH read, table structure incomprehensible. Table with 3 rows and 7 columns, row 1 through 2 column 1, homework. Homework, row 1 column 2 through 4, exams. Column 5 through 7, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Homework, row 3, homework, column 1, fifteen percent. Exams, column 2, fifteen percent. Exams, column 3, fifteen percent. Exams, column 4, twenty percent. Projects, column 5, ten percent. Projects, column 6, ten percent. Projects, column 7, fifteen percent.
OK NVDA 2018.4Chrome 73 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2, homework homework, column 1, homework. Row 1, exams 1, column 2 through 4, exams. Projects 1, column 5 through 7, projects. Row 2, exams 1, column 1, one. Exams 2, column 2, two. Exams final, column 3, final. Projects 1, column 4, one. Projects 2, column 5, two. Projects final, column 6, final. Row 3, homework homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
OK NVDA 2018.4FF60 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 through 2 column 1, homework. Row 1 column 2 through 4, exams. Column 5 through 7, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
Fail NVDA 2018.4IE11 ReadingOnly first row TH read, table structure incomprehensible. Table with 3 rows and 7 columns, row 1 through 2 column 1, homework. Homework, row 1 column 2 through 4, exams. Column 5 through 7, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Homework, row 3, homework, column 1, fifteen percent. Exams, column 2, fifteen percent. Exams, column 3, fifteen percent. Exams, column 4, twenty percent. Projects, column 5, ten percent. Projects, column 6, ten percent. Projects, column 7, fifteen percent.
OK NVDA 2017.3FF60 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
Fail NVDA 2017.3IE11 ReadingOnly first row TH read, table structure incomprehensible. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Homework, row 3, homework, column 1, fifteen percent. Exams, column 2, fifteen percent. Exams, column 3, fifteen percent. Exams, column 4, twenty percent. Projects, column 5, ten percent. Projects, column 6, ten percent. Projects, column 7, fifteen percent.
OK NVDA 2016.2FF48 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
Fail NVDA 2016.2IE11 ReadingOnly first row TH read, table structure incomprehensible. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Homework, row 3, homework, column 1, fifteen percent. Exams, column 2, fifteen percent. Exams, column 3, fifteen percent. Exams, column 4, twenty percent. Projects, column 5, ten percent. Projects, column 6, ten percent. Projects, column 7, fifteen percent.
OK NVDA 2015.2FF41 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
Fail NVDA 2015.2IE11 ReadingOnly first row TH read, table structure incomprehensible. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Homework, row 3, homework, column 1, fifteen percent. Exams, column 2, fifteen percent. Exams, column 3, fifteen percent. Exams, column 4, twenty percent. Projects, column 5, ten percent. Projects, column 6, ten percent. Projects, column 7, fifteen percent.
OK NVDA 2014.1FF41 ReadingHeaders associated with the cell read out before column number. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Row 3, homework, column 1, fifteen percent. Exams one, column 2, fifteen percent. Exams two, column 3, fifteen percent. Exams final, column 4, twenty percent. Projects one, column 5, ten percent. Projects two, column 6, ten percent. Projects final, column 7, fifteen percent.
Fail NVDA 2014.1IE11 ReadingOnly first row TH read, table structure incomprehensible. Table with 3 rows and 7 columns, row 1 column 1, homework. Column 2, exams. Column 5, projects. Row 2, exams, column 2, one. Exams, column 3, two. Exams, column 4, final. Projects, column 5, one. Projects, column 6, two. Projects, column 7, final. Homework, row 3, homework, column 1, fifteen percent. Exams, column 2, fifteen percent. Exams, column 3, fifteen percent. Exams, column 4, twenty percent. Projects, column 5, ten percent. Projects, column 6, ten percent. Projects, column 7, fifteen percent.
OK JAWS 2021.2107.12Chrome 94 ReadingHeaders associated with the cell read when using table navigation commands. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 5, row 1, projects, spans 3 columns). Homework (column 1, row 2, homework, blank). One (column 1, row 2, exams, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, exams, final). One (column 4, row 2, projects, one). Two (column 5, row 2, projects, two). Final (column 6, row 2, projects, final). Fifteen percent (column 1, row 3, homework homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
Fail JAWS 2021.2107.12FF91 ReadingWrong headers (and no headers for some cells) read out when using table navigation commands. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). One (column 1, row 2, homework, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, projects, final). One (column 4, row 2, one). Two (column 5, row 2, two). Final (column 6, row 2, final). Fifteen percent (column 1, row 3, homework one, fifteen percent). Fifteen percent (column 2, row 3, exams two, fifteen percent). Fifteen percent (column 3, row 3, projects final, fifteen percent). Twenty percent (column 4, row 3, one, twenty percent). Ten percent (column 5, row 3, two, ten percent). Ten percent (column 6, row 3, final, ten percent). Fifteen percent (column 7, row 3, fifteen percent).
OK JAWS 2021.2107.12Edge 94 ReadingHeaders associated with the cell read out when using table navigation commands. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 3, row 1, projects, spans 3 columns). Homework (column 1, row 2, homework). One (column 1, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 2020.2008.24Chrome 86 ReadingHeaders associated with the cell read when using table navigation commands. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 5, row 1, projects, spans 3 columns). Homework (column 1, row 2, homework, blank). One (column 1, row 2, exams, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, exams, final). One (column 4, row 2, projects, one). Two (column 5, row 2, projects, two). Final (column 6, row 2, projects, final). Fifteen percent (column 1, row 3, homework homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
Fail JAWS 2020.2008.24FF78 ReadingWrong headers (and no headers for some cells) read out when using table navigation commands. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). One (column 1, row 2, homework, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, projects, final). One (column 4, row 2, one). Two (column 5, row 2, two). Final (column 6, row 2, final). Fifteen percent (column 1, row 3, homework one, fifteen percent). Fifteen percent (column 2, row 3, exams two, fifteen percent). Fifteen percent (column 3, row 3, projects final, fifteen percent). Twenty percent (column 4, row 3, one, twenty percent). Ten percent (column 5, row 3, two, ten percent). Ten percent (column 6, row 3, final, ten percent). Fifteen percent (column 7, row 3, fifteen percent).
OK JAWS 2020.2008.24Edge 92 ReadingHeaders associated with the cell read out when using table navigation commands. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 3, row 1, projects, spans 3 columns). Homework (column 1, row 2, homework). One (column 1, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 2019.1912.1Chrome 79 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 5, row 1, projects, spans 3 columns). Blank (column 1, row 2, homework, blank). One (column 1, row 2, exams, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, exams, final). One (column 4, row 2, projects, one). Two (column 5, row 2, projects, two). Final (column 6, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
Fail JAWS 2019.1912.1FF68 ReadingWrong headers (and no headers for some cells) read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). One (column 1, row 2, homework, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, projects, final). One (column 4, row 2, one). Two (column 5, row 2, two). Final (column 6, row 2, final). Fifteen percent (column 1, row 3, homework one, fifteen percent). Fifteen percent (column 2, row 3, exams two, fifteen percent). Fifteen percent (column 3, row 3, projects final, fifteen percent). Twenty percent (column 4, row 3, one, twenty percent). Ten percent (column 5, row 3, two, ten percent). Ten percent (column 6, row 3, final, ten percent). Fifteen percent (column 7, row 3, fifteen percent).
OK JAWS 2019.1912.1IE11 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 3, row 1, projects, spans 3 columns). Blank (column 1, row 2, blank). One (column 1, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 2018.1811.2Chrome 73 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 5, row 1, projects, spans 3 columns). Blank (column 1, row 1, blank). One (column 1, row 2, exams, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, exams, final). One (column 4, row 2, projects, one). Two (column 5, row 2, projects, two). Final (column 6, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
Fail JAWS 2018.1811.2FF60 ReadingWrong headers (and no headers for some cells) read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). One (column 1, row 2, homework, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, projects, final). One (column 4, row 2, one). Two (column 5, row 2, two). Final (column 6, row 2, final). Fifteen percent (column 1, row 3, homework one, fifteen percent). Fifteen percent (column 2, row 3, exams two, fifteen percent). Fifteen percent (column 3, row 3, projects final, fifteen percent). Twenty percent (column 4, row 3, one, twenty percent). Ten percent (column 5, row 3, two, ten percent). Ten percent (column 6, row 3, final, ten percent). Fifteen percent (column 7, row 3, fifteen percent).
OK JAWS 2018.1811.2IE11 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 3, row 1, projects, spans 3 columns). Blank (column 1, row 2, homework, blank). One (column 1, row 2, exams, one). Two (column 2, row 2, exams, two). Final (column 3, row 2, exams, final). One (column 4, row 2, projects, one). Two (column 5, row 2, projects, two). Final (column 6, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 18.0.5038FF52 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). Blank (column 1, row 2, homework, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 18.0.5038IE11 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams, spans 3 columns). Projects (column 3, row 1, projects, spans 3 columns). Blank (column 1, row 2, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 17.0.2619FF48 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). Blank (column 1, row 2, homework, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 17.0.2619IE11 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). Blank (column 1, row 2, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 16.0.4350FF41 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). Blank (column 1, row 2, homework, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 16.0.4350IE11 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). Blank (column 1, row 2, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 15.0.9023FF41 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). Blank (column 1, row 2, homework, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK JAWS 15.0.9023IE11 ReadingHeaders associated with the cell read out when Ctrl+Alt+Numpad+5 pressed. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, exams). Projects (column 3, row 1, projects). Blank (column 1, row 2, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams, two). Final (column 4, row 2, exams, final). One (column 5, row 2, projects, one). Two (column 6, row 2, projects, two). Final (column 7, row 2, projects, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
Fail JAWS 14.0.9002FF41 ReadingEach preceding TH in a header row read as header when Ctrl+Alt+Numpad+5 pressed in TH cell. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, homework, exams). Projects (column 3, row 1, homework exams, projects). Blank (column 1, row 2, homework, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams one, two). Final (column 4, row 2, exams one two, final). One (column 5, row 2, projects one two final, one). Two (column 6, row 2, projects one two final one, two). Final (column 7, row 2, projects one two final one two, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
Fail JAWS 14.0.9002IE11 ReadingEach preceding TH in a header row read as header when Ctrl+Alt+Numpad+5 pressed in TH cell. Table with 7 columns and 3 rows. Homework (column 1, row 1, homework). Exams (column 2, row 1, homework, exams). Projects (column 3, row 1, homework exams, projects). Blank (column 1, row 2, homework, blank). One (column 2, row 2, exams, one). Two (column 3, row 2, exams one, two). Final (column 4, row 2, exams one two, final). One (column 5, row 2, projects one two final, one). Two (column 6, row 2, projects one two final one, two). Final (column 7, row 2, projects one two final one two, final). Fifteen percent (column 1, row 3, homework, fifteen percent). Fifteen percent (column 2, row 3, exams one, fifteen percent). Fifteen percent (column 3, row 3, exams two, fifteen percent). Twenty percent (column 4, row 3, exams final, twenty percent). Ten percent (column 5, row 3, projects one, ten percent). Ten percent (column 6, row 3, projects two, ten percent). Fifteen percent (column 7, row 3, projects final, fifteen percent).
OK WindowEyes 9.2IE11 ReadingCorrectly voices complex table headers using HEADERS attribute in reading mode. Table, 3 rows, 7 columns, homework. Exams. Projects. Homework. Exams 1. Exams 2. Exams final. Projects 1. Projects 2. Projects final. Homework, fifteen percent. Exams 1, fifteen percent. Exams 2, fifteen percent. Exams final, twenty percent. Projects 1, ten percent. Projects 2, ten percent. Projects final, fifteen percent.
OK WindowEyes 8.4IE11 ReadingAssociation specified by HEADERS attribute is only announced when in 'attribute only' headers mode. Table 16 start, 3 rows, 7 columns. (Table 16 on 1C 1R homework) Homework. Exams. Projects. Homework, fifteen percent. Exams one, fifteen percent. Exams two, fifteen percent. Exams final, twenty percent. Projects one, ten percent. Projects two, ten percent. Projects final, fifteen percent.
Fail VoiceOver macOS 11.5Safari 15.0 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Table, 7 columns, 3 rows. Spans 2 rows, homework, column 1 of 7. Spans 3 columns, exams, column 2 of 7. Spans 3 columns, projects, column 5 of 7. Row 2 of 3, exams, one, column 2 of 7. Two column 3 of 7. Final column 4 of 7. Projects, one, column 5 of 7. Two column 6 of 7. Final column 7 of 7. Row 3 of 3, homework, fifteen percent, column 1 of 7. Exams and one, fifteen percent, column 2 of 7. Two, fifteen percent, column 3 of 7. Final, twenty percent, column 4 of 7. Projects and one, ten percent, column 5 of 7. Two, ten percent, column 6 of 7. Final, fifteen percent, column 7 of 7.
Fail VoiceOver macOS 10.15Safari 14.1 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Table, 7 columns, 3 rows. Spans 2 rows, homework, column 1 of 7. Spans 3 columns, exams, column 2 of 7. Spans 3 columns, projects, column 5 of 7. Row 2 of 3, exams, one, column 2 of 7. Two column 3 of 7. Final column 4 of 7. Projects, one, column 5 of 7. Two column 6 of 7. Final column 7 of 7. Row 3 of 3, homework, fifteen percent, column 1 of 7. Exams one, fifteen percent, column 2 of 7. Two, fifteen percent, column 3 of 7. Final, twenty percent, column 4 of 7. Projects one, ten percent, column 5 of 7. Two, ten percent, column 6 of 7. Final, fifteen percent, column 7 of 7.
Fail VoiceOver macOS 10.14Safari 13.0 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Table, 7 columns, 3 rows. Spans 2 rows, homework, column 1 of 7. Spans 3 columns, exams, column 2 of 7. Spans 3 columns, projects, column 5 of 7. Row 2 of 3, exams, one, column 2 of 7. Two column 3 of 7. Final column 4 of 7. Projects, one, column 5 of 7. Two column 6 of 7. Final column 7 of 7. Row 3 of 3, homework, fifteen percent, column 1 of 7. Exams one, fifteen percent, column 2 of 7. Two, fifteen percent, column 3 of 7. Final, twenty percent, column 4 of 7. Projects one, ten percent, column 5 of 7. Two, ten percent, column 6 of 7. Final, fifteen percent, column 7 of 7.
Fail VoiceOver macOS 10.13Safari 12.1 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Table, 7 columns, 3 rows. Spans 2 rows, homework, column 1 of 7. Spans 3 columns, exams, column 2 of 7. Spans 3 columns, projects, column 5 of 7. Row 2 of 3, exams, one, column 2 of 7. Two column 3 of 7. Final column 4 of 7. Projects, one, column 5 of 7. Two column 6 of 7. Final column 7 of 7. Row 3 of 3, homework, fifteen percent, column 1 of 7. Exams one, fifteen percent, column 2 of 7. Two, fifteen percent, column 3 of 7. Final, twenty percent, column 4 of 7. Projects one, ten percent, column 5 of 7. Two, ten percent, column 6 of 7. Final, fifteen percent, column 7 of 7.
Fail VoiceOver macOS 10.12Safari 10.1.2 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Table, 7 columns, 3 rows. Spans 2 rows, homework, column 1 of 7. Spans 3 columns, exams, column 2 of 7. Spans 3 columns, projects, column 5 of 7. Row 2 of 3, exams, one, column 2 of 7. Two column 3 of 7. Final column 4 of 7. Projects, one, column 5 of 7. Two column 6 of 7. Final column 7 of 7. Row 3 of 3, homework, one five percent, column 1 of 7. Exams one, one five percent, column 2 of 7. Two, one five percent, column 3 of 7. Final, two zero percent, column 4 of 7. Projects one, one zero percent, column 5 of 7. Two, one zero percent, column 6 of 7. Final, one five percent, column 7 of 7.
Fail VoiceOver macOS 10.11Safari 9.1.2 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Table, 7 columns, 3 rows. Spans 2 rows, homework, column 1 of 7. Spans 3 columns, exams, column 2 of 7. Spans 3 columns, projects, column 5 of 7. Row 2 of 3, exams, one, column 2 of 7. Two. Final. Projects, one, column 5 of 7. Two. Final. Row 3 of 3, homework, one five percent, column 1 of 7. Exams one, one five percent, column 2 of 7. Two, one five percent, column 3 of 7. Final, two zero percent, column 4 of 7. Projects one, one zero percent, column 5 of 7. Two, one zero percent, column 6 of 7. Final, one five percent, column 7 of 7.
Fail VoiceOver macOS 10.10Safari 9.0.1 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Table, 7 columns, 3 rows. Spans 2 rows, homework, column 1 of 7. Spans 3 columns, exams, column 2 of 7. Spans 3 columns, projects, column 5 of 7. Row 2 of 3, exams, column 2 of 7. Two. Final. Projects, one, column 5 of 7. Two. Final. Row 3 of 3, homework, one five percent, column 1 of 7. Exams one, one five percent, column 2 of 7. Two, one five percent, column 3 of 7. Final, two zero percent, column 4 of 7. Projects one, one zero percent, column 5 of 7. Two, one zero percent, column 6 of 7. Final, one five percent, column 7 of 7.
Fail VoiceOver iOS 14.7Safari iOS 14.7 ReadingTable incomprehensible - only first header in HEADERS list is voiced for data cells. Homework, row header, column header, spans 2 rows, row 1 column 1, table start, 3 rows 7 columns. Exams, column header, spans 3 columns, row 1 column 2. Projects, column header, spans 3 columns, row 1 column 5. Exams, one, row 2 column 2. Exams, two, row 2 column 3. Exams, final, row 2 column 4. Projects, one, row 2 column 5. Projects, two, row 2 column 6. Projects, final, row 2 column 7. Homework, fifteen percent, row 3 column 1. Exams, fifteen percent, row 3 column 2. Exams, fifteen percent, row 3 column 3. Exams, twenty percent, row 3 column 4. Projects, ten percent, row 3 column 5. Projects, ten percent, row 3 column 6. Projects, fifteen percent, row 3 column 7, table end, end, end.
Fail VoiceOver iOS 13.3Safari iOS 13.3 ReadingTable incomprehensible - only first header in HEADERS list is voiced for data cells. Homework, row header, column header, spans 2 rows, row 1 column 1, table start, 3 rows 7 columns. Exams, column header, spans 3 columns, row 1 column 2. Projects, column header, spans 3 columns, row 1 column 5. Exams, one, row 2 column 2. Exams, two, row 2 column 3. Exams, final, row 2 column 4. Projects, one, row 2 column 5. Projects, two, row 2 column 6. Projects, final, row 2 column 7. Homework, fifteen percent, row 3 column 1. Exams, fifteen percent, row 3 column 2. Exams, fifteen percent, row 3 column 3. Exams, twenty percent, row 3 column 4. Projects, ten percent, row 3 column 5. Projects, ten percent, row 3 column 6. Projects, fifteen percent, row 3 column 7, table end, end, end.
Fail VoiceOver iOS 12.4Safari iOS 12.4 ReadingTable incomprehensible - only first header in HEADERS list is voiced. Homework, spans 2 rows, row 1 column 1, table start, 3 rows 7 columns. Exams, spans 3 columns, row 1 column 2. Projects, spans 3 columns, row 1 column 5. Exams, one, row 2 column 2. Two, row 2 column 3. Final, row 2 column 4. Projects, one, row 2 column 5. Two, row 2 column 6. Final, row 2 column 7. Fifteen percent, row 3 column 1. Exams, fifteen percent, row 3 column 2. Fifteen percent, row 3 column 3. Twenty percent, row 3 column 4. Projects, ten percent, row 3 column 5. Ten percent, row 3 column 6. Fifteen percent, row 3 column 7, table end, end, end.
Fail VoiceOver iOS 11.4Safari iOS 11.4 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Homework, spans 2 rows, row 1 column 1, table start, 3 rows 7 columns. Exams, spans 3 columns, row 1 column 2. Projects, spans 3 columns, row 1 column 5. One, row 2 column 2. Two, row 2 column 3. Final, row 2 column 4. Projects, one, row 2 column 5. Two, row 2 column 6. Final, row 2 column 7. Fifteen percent, row 3 column 1. Exams, fifteen percent, row 3 column 2. Fifteen percent, row 3 column 3. Twenty percent, row 3 column 4. Projects, ten percent, row 3 column 5. Ten percent, row 3 column 6. Fifteen percent, row 3 column 7, table end, end, end.
Fail VoiceOver iOS 10.3Safari iOS 10.3 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Homework, spans 2 rows, row 1, column 1, table start, 3 rows, 7 columns. Exams, spans 3 columns, column 2. Projects, spans 3 columns, column 5. Exams, one, row 2, column 2. Two, column 3. Final, column 4. Projects, one, column 5. Two, column 6. Final, column 7. Fifteen percent, row 3, column 1. Exams, fifteen percent, column 2. Fifteen percent, column 3. Twenty percent, column 4. Projects, ten percent, column 5. Ten percent, column 6. Fifteen percent, column 7, table end.
Fail VoiceOver iOS 9.1Safari iOS 9.1 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Homework, table start. Exams. Projects. Exams, one. Exams, one, two. Exams, one, final. Projects, one. Projects, one, two. Projects, one. final. Homework, fifteen percent. Exams, fifteen percent. Exams, twenty percent. Projects, ten percent. Projects, ten percent. Projects, fifteen percent, table end.
Fail VoiceOver iOS 8.4Safari iOS 8.4 ReadingTable incomprehensible - HEADERS relationships not announced correctly. Homework, table start. Exams. Projects. Exams, one. Exams, two. Exams, one, final. Projects, one, one. One, two. Projects, one. final. Homework, fifteen percent. Exams, fifteen percent. Exams, fifteen percent. Projects, ten percent. Projects, ten percent. Projects, fifteen percent, table end.

SortSite rules: AccHtmlTableComplexHeaders

Test notes

All tests were carried out with screen reader factory settings. JAWS in particular has a wide variety of settings controlling exactly what gets spoken.

Screen readers allow users to interact in different modes, and can produce very different results in each mode. The modes used in these tests are:

In the "What the user hears" column: