Bug 241849 - AX: Voiceover does not read table thead first cell content when table located inside <main> element and page is traversed using VO + Right Arrow key combination
Summary: AX: Voiceover does not read table thead first cell content when table located...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Accessibility (show other bugs)
Version: Safari 15
Hardware: Mac (Intel) macOS 12
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2022-06-22 03:17 PDT by jartik
Modified: 2022-06-22 03:17 PDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jartik 2022-06-22 03:17:33 PDT
Steps to Reproduce:
1). Please use the following code snippet:
<main>
  <p>Text content</p>
  <table>
    <caption>Table caption</caption>
    <thead>
      <tr>
        <th>Table header 1</th>
        <th>Table header 2</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Table body cell 1</td>
        <td>Table body cell 2</td>
      </tr>
    </tbody>
  </table>
</main>

2). Perform navigation through the snippet using VO + Right Arrow hotkey combination, navigate to table and then to the first table header cell.

Actual Results: First table header cell information and content are not announced, Voiceover only announces that you are currently on a table cell and key combinations that can be used for further navigation.

Expected Results: First table header cell information and content are announced, then Voiceover announces that you are currently on a table cell and key combinations that can be used for further navigation.

Build Date & Hardware: Safari 15.5 (17613.2.7.1.8) on MacOS Monterey 12.4

Additional Information:
1) It is also reproduced if the table is constructed using non-native table elements and appropriate table roles. Please see the following code snippet.
<main>
  <p>Text content</p>
  <div role="table" aria-label="Table caption">
    <div role="rowgroup">
      <div role="row">
        <span role="columnheader">Table header 1</span>
        <span role="columnheader">Table header 2</span>
      </div>
    </div>
    <div role="rowgroup">
      <div role="row">
        <span role="cell">
          Table body cell 1
        </span>
        <span role="cell">
          Table body cell 2
        </span>
      </div>
    </div>
  </div>
</main>

2)Navigating to next table header using VO + Arrow Right keys and then back to first cell using VO + Left Arrow keys will result announce first cell content, however navigating outside table and entering it again via VO + Arrow Right will not announce cell content again.

3) If <table> element is not placed inside <main> element everything is been read as expected.
Comment 1 Radar WebKit Bug Importer 2022-06-22 03:17:41 PDT
<rdar://problem/95677244>