Important: This website does not attempt to establish a standard for how assistive technologies must behave. Read the FAQ for more information. Additionally, this is a work in progress. Please submit feedback or suggestions.

Test: HTML td element with a row header (th[scope="row"])

Screen Reader support level: supported

Voice Control support level: unknown

On this page

About this test

This test verifies that the row header is announced for associated td elements when the scope="row" attribute is used.

Submit new test results

Age of results

Results in this test range from 3 years ago to 6 years ago. See detailed information about test dates and versions for more information.

Caution

Failing or partial results may be out of date. The oldest result is from 4 years ago. Consider running this test and contributing results.

Test HTML

Open the test case HTML file
<!DOCTYPE html>
<html lang="en">
<head>
    <title>HTML td element with row header (custom)</title>
    <style>
        table {
            border-collapse: collapse;
        }
        th, td {
            border: 1px solid #000;
        }
    </style>
</head>
<body>
    <p>Text before the table</p>
    <table>
        <tr>
            <th scope="row">Name</th>
            <td id="target">Greg</td>
        </tr>
        <tr>
            <th scope="row">Type</th>
            <td>car</td>
        </tr>
    </table>
    <p>Text after the table</p>
</body>
</html>

Summary of Screen Reader support by expectation

scope attribute
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey the header as a row header if the scope is set to "row" applied to: th elementsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
table element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the boundaries of the tablesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
td element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MAY convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the position of the header (row/column)supportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
th element
ExpectationJAWSNarratorNVDAOrcaTalkBackVoiceOver (iOS)VoiceOver (macOS)
ChromeEdgeFirefoxEdgeChromeEdgeFirefoxFirefoxChromeSafariSafari
MUST convey its rolesupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported
MUST convey the position of the header (row/column)supportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupportedsupported

* means that some support is hidden behind settings

Summary of Voice Control support by expectation

scope attribute
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
table element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
td element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable
th element
ExpectationDragon Naturally SpeakingVoice Access (Android)Voice Control (iOS)Voice Control (MacOS)Windows Speech RecognitionWindows Voice Access
ChromeChromeSafariSafariEdgeChromeEdgeChrome
Not applicable

* means that some support is hidden behind settings

Detailed support results by expectation

Expectation for the scope attribute: convey the header as a row header if the scope is set to "row" - applied to the th element

This expectation is applied to the th element. Expectations and results might differ when the the feature is applied to different roles.

This expectation is from the scope attribute feature.

Rationale:

The user needs to be able to determine what headers a cell belongs to.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Grading method:

Just one of the listed commands must pass for the expectation to pass.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, greg, row 1"
  • Result: (pass)
    • Test Case: Use Control + Alt + Numpad 5 (Read current cell) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Numpad 5 (Read current cell)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "column 2, row 1, name, Greg"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, greg, row 1"
  • Result: (pass)
    • Test Case: Use Control + Alt + Numpad 5 (Read current cell) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Numpad 5 (Read current cell)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "column 2, row 1, name, Greg"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, greg, row 1"
  • Result: (pass)
    • Test Case: Use Control + Alt + Numpad 5 (Read current cell) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Numpad 5 (Read current cell)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "column 2, row 1, name, Greg"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `*[scope="row"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Greg, non-selected, row header Name, row 1 of 2 column 2 of 2"
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `*[scope="row"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Greg, non-selected, row header Name, row 1 of 2 column 2 of 2"
  • Result: (pass)
    • Test Case: Use Control + Shift + Alt + Left arrow (Read row header) to navigate forward to `*[scope="row"]`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Shift + Alt + Left arrow (Read row header)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name row 1 greg"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate forward to `*[scope="row"]`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name row 1 column 2 greg"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name row 1 greg"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate forward to `*[scope="row"]`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name row 1 column 2 greg"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name row 1 greg"
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `*[scope="row"]` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name row 1 column 2 greg"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use alt + shift + up arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + up arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Name, greg, row 1, column 2"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `*[scope="row"]`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Type, row header, name"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `*[scope="row"]` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, table start, 2 rows, 2 columns"
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `*[scope="row"]` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, table start, 2 rows, 2 columns"
  • Result: (pass)
    • Test Case: unknown
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: three-finger tap (Read additional information about the current position)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "page 1 of 1, top of screen, row header, column header, row 1 column 1"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Up Arrow (Move to Previous Row) to navigate backwards to `*[scope="row"]` (leave keyboard focus before the target)
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Up Arrow (Move to Previous Row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Row 1 of 2 Name, greg, column 2 of 2"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: scope attribute: convey the header as a row header if the scope is set to "row"

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2018.1811.2IE 11.134yes
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, greg, row 1"
  • Result: (pass)
    • Test Case: Use Control + Alt + Numpad 5 (Read current cell) to navigate forward to `*[scope="row"]`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:*[scope="row"]
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Numpad 5 (Read current cell)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "column 2, row 1, name, Greg"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the table element: convey its role

This expectation is from the table element feature.

Rationale:

A user needs to be aware that they are navigating a table.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce an element as something like "<name>, <role>"
  • A screen reader might imply the role by the presence of certain context roles
  • Voice Control software might let the user say something like "click, <role>".
  • Voice Control software might let the user say something like "show numbers", and interactive roles will be flagged with numbers.

Grading method:

Just one of the listed commands must pass for the expectation to pass.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Greg, non-selected, row header Name, row 1 of 2 column 2 of 2"
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Greg, non-selected, row header Name, row 1 of 2 column 2 of 2"
  • Result: (pass)
    • Test Case: Use Control + Shift + Alt + Left arrow (Read row header) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Shift + Alt + Left arrow (Read row header)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows, 2 columns, name, greg"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `table`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Name, row header, row 1, in grid, 2 rows, 2 columns"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `table` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, row 1, column 1, table start 2 rows, 2 columns"
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `table` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, row 1, column 1, table start 2 rows, 2 columns"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `table`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table, 2 columns, 2 rows"
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate backwards to `table` (leave keyboard focus before the target)
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "end of table"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: table element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2018.1811.2IE 11.134yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the table element: convey the boundaries of the table

This expectation is from the table element feature.

Rationale:

A user needs to know when they enter and exit an element

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce the role of the element when entering and say something like "leaving" when exiting.
  • A screen reader might not explicitly announce entering and existing the element, but instead imply that the is in the containing object by conveying the roles of required children (options in a listbox for example).
  • A screen reader might announce position in set information such as "1 of 6".
  • A screen reader might not convey boundaries if the content fits on a single line

Grading method:

All of the listed commands must pass for the expectation to pass.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Greg, non-selected, row header Name, row 1 of 2 column 2 of 2"
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Greg, non-selected, row header Name, row 1 of 2 column 2 of 2"
  • Result: (pass)
    • Test Case: Use Down arrow (Jump to next item (scan mode)) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Jump to next item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table exit, text after the table"
  • Result: (pass)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table exit, text before the table"
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "no previous cell in column"
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `table`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "no previous cell in row"
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `table`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `table`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `table`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `table`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `table`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `table`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `table`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `table`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to `table`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows and 2 columns, row 1 column 1, Name"
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `table`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `table`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `table`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `table`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "edge of table"
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forward to the start of `table`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: start of target
      6. Record results for the relevant expectations
    • Output: "table with 2 rows, 2 columns, name, greg"
  • Result: (pass)
    • Test Case: Use down arrow (Read next item) to navigate forwards out of `table`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: within target
        • Keyboard focus is: within target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: down arrow (Read next item)
        • After issuing the command, virtual focus should be: after target
      6. Record results for the relevant expectations
    • Output: "leaving table"
  • Result: (pass)
    • Test Case: Use alt + shift + right arrow (Move to next column) to navigate forward to `table`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "end of row"
  • Result: (pass)
    • Test Case: Use alt + shift + left arrow (Move to previous column) to navigate forward to `table`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "beginning of row"
  • Result: (pass)
    • Test Case: Use alt + shift + down arrow (Move to next row) to navigate forward to `table`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + down arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "bottom of column"
  • Result: (pass)
    • Test Case: Use alt + shift + up arrow (Move to previous row) to navigate forward to `table`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + up arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "top of column"
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `table`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Name, row header, row 1, in grid, 2 rows, 2 columns"
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `table`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Name, row header, row 1, in grid, 2 rows, 2 columns"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `table` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, row 1, column 1, table start 2 rows, 2 columns"
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `table` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "type, car, row 2, column 2, table end"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right arrow (Read next item) to navigate forward to `table`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table, 2 columns, 2 rows"
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate backwards to `table` (leave keyboard focus before the target)
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "end of table"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: table element: convey the boundaries of the table

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2018.1811.2IE 11.134yes
  • Result: (pass)
    • Test Case: Use Down arrow (Read next item) to navigate forward to `table`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Down arrow (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table with 2 columns and 2 rows"
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `table`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:table
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "table end"
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the td element: convey its role

This expectation is from the td element feature.

Rationale:

A table can only contain cells of information, so the role is usually implied.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MAY
  • Voice Control: NA

Examples:

  • A screen reader might announce an element as something like "<name>, <role>"
  • A screen reader might imply the role by the presence of certain context roles
  • Voice Control software might let the user say something like "click, <role>".
  • Voice Control software might let the user say something like "show numbers", and interactive roles will be flagged with numbers.

Grading method:

Just one of the listed commands must pass for the expectation to pass.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `td`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `td`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `td`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Up arrow (Jump to previous item (scan mode)) to navigate forward to `td`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Jump to previous item (scan mode))
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate forward to `td`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate forward to `td`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate backwards to `td` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use up arrow (Read previous item) to navigate forward to `td`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use alt + shift + right arrow (Move to next column) to navigate forward to `td`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use alt + shift + down arrow (Move to next row) to navigate forward to `td`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + down arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `td`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `td` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `td` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Read previous item) to navigate forward to `td`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use VO + Right Arrow (Move to Next Column) to navigate forward to `td`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right Arrow (Move to Next Column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use VO + Down Arrow (Move to Next Row) to navigate forward to `td`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Down Arrow (Move to Next Row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: td element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2018.1811.2IE 11.134yes
  • Result: (pass)
    • Test Case: Use Up arrow (Read previous item) to navigate forward to `td`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Up arrow (Read previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the td element: convey the position of the header (row/column)

This expectation is from the td element feature.

Rationale:

A user needs to be able to determine where they are while navigating a table.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Grading method:

Just one of the listed commands must pass for the expectation to pass.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `td`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `td`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `td`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `td`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `td`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `td`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `td`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `td`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `td`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `td`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `td`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `td`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate backwards to `td` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate backwards to `td` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use alt + shift + right arrow (Move to next column) to navigate forward to `td`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use alt + shift + down arrow (Move to next row) to navigate forward to `td`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + down arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use alt + shift + left arrow (Move to previous column) to navigate forward to `td`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use alt + shift + up arrow (Move to previous row) to navigate forward to `td`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + up arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `td`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `td` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `td` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Right Arrow (Move to Next Column) to navigate forward to `td`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right Arrow (Move to Next Column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use VO + Down Arrow (Move to Next Row) to navigate forward to `td`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Down Arrow (Move to Next Row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Move to Previous Column) to navigate forward to `td`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Move to Previous Column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use VO + Up Arrow (Move to Previous Row) to navigate forward to `td`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Up Arrow (Move to Previous Row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: td element: convey the position of the header (row/column)

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2018.1811.2IE 11.134yes
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `td`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `td`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (no header semantics surfaced, which implies that this is a cell)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `td`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `td`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:td
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the th element: convey its role

This expectation is from the th element feature.

Rationale:

A user needs to be able to determine what headers apply to a given cell.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Examples:

  • A screen reader might announce an element as something like "<name>, <role>"
  • A screen reader might imply the role by the presence of certain context roles
  • Voice Control software might let the user say something like "click, <role>".
  • Voice Control software might let the user say something like "show numbers", and interactive roles will be flagged with numbers.

Grading method:

Just one of the listed commands must pass for the expectation to pass.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate backwards to `th` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate backwards to `th` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use alt + shift + down arrow (Move to next row) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + down arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use alt + shift + up arrow (Move to previous row) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + up arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use alt + shift + right arrow (Move to next column) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use alt + shift + left arrow (Move to previous column) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `th`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Name, row header"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (partial)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `th` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, table start, 2 rows, 2 columns"
    • Result Notes: also conveyed, incorrectly, as a column header
  • Result: (partial)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `th` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, table start, 2 rows, 2 columns"
    • Result Notes: also conveyed, incorrectly, as a column header
  • Result: (pass)
    • Test Case: unknown
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: three-finger tap (Read additional information about the current position)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "page 1 of 1, top of screen, row header, column header, row 1 column 1"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Up Arrow (Move to Previous Row) to navigate backwards to `th` (leave keyboard focus before the target)
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Up Arrow (Move to Previous Row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Row 1 of 2 Name, greg"
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: th element: convey its role

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2018.1811.2IE 11.134yes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Expectation for the th element: convey the position of the header (row/column)

This expectation is from the th element feature.

Rationale:

A user needs to be able to determine where they are while navigating a table.

Strength of this expectation for different types of assistive technologies:

  • Screen Readers: MUST
  • Voice Control: NA

Grading method:

Just one of the listed commands must pass for the expectation to pass.

ATBrowserHas SupportOutput
Dragon Naturally SpeakingChromenot applicable-
JAWSChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
JAWSEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
JAWSFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NarratorEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch Narrator and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NVDAChromeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch NVDA and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NVDAEdgeyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch NVDA and Edge.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NVDAFirefoxyes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate backwards to `th` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate backwards to `th` (leave keyboard focus before the target)
      1. Launch NVDA and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
OrcaFirefoxyes
  • Result: (pass)
    • Test Case: Use alt + shift + down arrow (Move to next row) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + down arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use alt + shift + up arrow (Move to previous row) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + up arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use alt + shift + right arrow (Move to next column) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use alt + shift + left arrow (Move to previous column) to navigate forward to `th`
      1. Launch Orca and Firefox.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: alt + shift + left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
TalkBackChromeyes
  • Result: (pass)
    • Test Case: Use Swipe right (or alt+right arrow) (Read next item) to navigate forward to `th`
      1. Launch TalkBack and Chrome.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe right (or alt+right arrow) (Read next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Name, row header"
Voice Access (Android)Chromenot applicable-
Voice Control (iOS)Safarinot applicable-
Voice Control (MacOS)Safarinot applicable-
VoiceOver (iOS)Safariyes
  • Result: (pass)
    • Test Case: Use Swipe Right (Next item) to navigate forward to `th` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Right (Next item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, table start, 2 rows, 2 columns"
  • Result: (pass)
    • Test Case: Use Swipe Left (Previous item) to navigate backwards to `th` (leave keyboard focus na)
      1. Launch VoiceOver (iOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Swipe Left (Previous item)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "name, row header, column header, table start, 2 rows, 2 columns"
VoiceOver (macOS)Safariyes
  • Result: (pass)
    • Test Case: Use VO + Up Arrow (Move to Previous Row) to navigate backwards to `th` (leave keyboard focus before the target)
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: after target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Up Arrow (Move to Previous Row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: "Row 1 of 2 Name, greg"
  • Result: (pass)
    • Test Case: Use VO + Right Arrow (Move to Next Column) to navigate forward to `th`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Right Arrow (Move to Next Column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use VO + Left Arrow (Move to Previous Column) to navigate forward to `th`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Left Arrow (Move to Previous Column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
  • Result: (pass)
    • Test Case: Use VO + Down Arrow (Move to Next Row) to navigate forward to `th`
      1. Launch VoiceOver (macOS) and Safari.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: VO + Down Arrow (Move to Next Row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (position information is announced as column and rows are changed)
Windows Speech RecognitionEdgenot applicable-
Windows Speech RecognitionChromenot applicable-
Windows Voice AccessEdgenot applicable-
Windows Voice AccessChromenot applicable-
Windows KeyboardChromenot applicable-
Windows KeyboardFirefoxnot applicable-
Windows KeyboardEdgenot applicable-
Mac KeyboardChromenot applicable-
Mac KeyboardSafarinot applicable-
iOS KeyboardSafarinot applicable-
Android KeyboardChromenot applicable-

Extended Support for: th element: convey the position of the header (row/column)

These are less common combinations

ATBrowserHas SupportOutput
Dragon Naturally SpeakingIEnot applicable-
Dragon Naturally SpeakingFirefoxnot applicable-
JAWS 2018.1811.2IE 11.134yes
  • Result: (pass)
    • Test Case: Use Control + Alt + up arrow (Move to next row) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + up arrow (Move to next row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + down arrow (Move to previous row) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + down arrow (Move to previous row)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Right arrow (Move to next column) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Right arrow (Move to next column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
  • Result: (pass)
    • Test Case: Use Control + Alt + Left arrow (Move to previous column) to navigate forward to `th`
      1. Launch JAWS and IE.
      2. Navigate to the test page.
      3. Find the target element(s) that you will test against. Identify all elements that match this selector:th
        • If multiple elements match the selector, repeat this test for all instances. However, choose a single instance to report against. If you feel that the selector should be more specific, please open a GitHub Issue.
      4. Position and configure the screen reader so that the following conditions are met
        • Virtual focus is: before target
        • Keyboard focus is: before target
        • Mode is: auto (do not explicitly change the mode)
      5. Issue the command: Control + Alt + Left arrow (Move to previous column)
        • After issuing the command, virtual focus should be: target
      6. Record results for the relevant expectations
    • Output: (cell is announced as the header as you transition between rows)
NarratorFirefoxunknown-
NarratorChromeunknown-
NarratorIEunknown-
NVDAIEunknown-
TalkBackFirefoxunknown-
Voice Access (Android)Firefoxnot applicable-
VoiceOver (iOS)Chromeunknown-
VoiceOver (macOS)Chromeunknown-
VoiceOver (macOS)Firefoxunknown-
OrcaChromeunknown-
Voice Control (MacOS)Chromenot applicable-
Voice Control (MacOS)Firefoxnot applicable-
Mac KeyboardFirefoxnot applicable-
Android KeyboardFirefoxnot applicable-
Back to top

Dates and Versions of tested combinations

ATAT VersionBrowserBrowser versionOS versionDate tested
JAWS2021.2107.12Chrome92Windows 10 version 21h12021-08-07
JAWS2021.2107.12Edge92Windows 10 version 21h12021-08-07
JAWS2018.1811.2Firefox66Windows 10 version 18092019-05-03
NarratorWindows 10 version 1809Edge44.17763Windows 10 version 18092019-05-03
NVDA2021.1Chrome92Windows 10 version 21h12021-08-07
NVDA2021.1Edge92Windows 10 version 21h12021-08-07
NVDA2018.2.1Firefox61.0.1Windows 10 version 18032018-07-30
Orca3.31.4Firefox69Ubuntu 19.042019-09-14
TalkBack7.3.0Chrome7672019-09-14
VoiceOver (iOS)13.3Safari13.313.32020-01-29
VoiceOver (macOS)10.15.2Safari13.0.410.15.22020-01-29

History

  • 2018-07-29 Sample data has been added. This data has not been verified.
  • 2019-05-03 Sample html was updated to better reflect a real word example, and data was updated as well.
  • 2019-09-14 Add orca and talkback results
  • 2020-01-29 Update VO results and clean up data
  • 2021-08-07 Added Narrator results for NVDA and JAWS, updated NVDA+Chrome results.