Open Bug 2018367 Opened 2 months ago Updated 2 months ago

aria-colindex values exposed on rows are not correctly exposed on cells

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

People

(Reporter: morgan, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

this part of the aria spec says:

If the set of columns which is present in the DOM is contiguous, and if there are no cells which span more than one row or column in that set, then authors MAY place aria-colindex on each row, setting the value to the index of the first column of the set. Otherwise, authors SHOULD place aria-colindex on all of the accessibility children of each row.

In the accessibility tree, we only expose the value on the row, we do not propagate it to the cells nor increment it for additional cells in that row.
It is possible we want to handle this at the platform layer, though if all platforms ultimately want the same behaviour I think it is reasonable to handle it in core.
I found this does work when testing with VoiceOver in Safari

I'll attach a test that shows this behaviour in a sec.

Attached file patch
Assignee: nobody → mreschenberg
Assignee: mreschenberg → nobody
Attachment #9546955 - Attachment is patch: false

if you prefer testing with an html snippet, here's the one I used to verify VO works to-spec in safari

data:text/html,<!DOCTYPE html>%0A<html lang="en">%0A<head>%0A<meta charset="UTF-8">%0A<title>VoiceOver aria-colindex test</title>%0A<style>%0Abody{font-family:sans-serif;padding:20px;max-width:700px}%0Atable{border-collapse:collapse;margin:1em 0}%0Atd{border:1px solid %23333;padding:8px 12px}%0Acaption{font-weight:bold;text-align:left;padding:4px 0}%0A.note{background:%23fffbe6;border:1px solid %23c90;padding:10px;margin:1em 0;border-radius:4px}%0A.exp{color:green;font-size:.9em;margin:.5em 0 1.5em}%0A</style>%0A</head>%0A<body>%0A<h1>VoiceOver aria-colindex test</h1>%0A<p class="note">Navigate with <b>VO+Right</b> through each table cell. Note which column number VoiceOver announces.</p>%0A%0A<h2>Test 1 - Baseline: aria-colindex on each cell</h2>%0A<p>Each cell has its own aria-colindex. VoiceOver should announce column 5, 6, 7.</p>%0A<table aria-colcount="10" aria-rowcount="20">%0A%20 <caption>Test 1 (baseline)</caption>%0A%20 <tr aria-rowindex="3">%0A%20%20%20 <td aria-colindex="5">Alpha</td>%0A%20%20%20 <td aria-colindex="6">Beta</td>%0A%20%20%20 <td aria-colindex="7">Gamma</td>%0A%20 </tr>%0A</table>%0A<p class="exp">Expected: column 5 of 10, column 6 of 10, column 7 of 10</p>%0A%0A<h2>Test 2 - Contiguous shorthand: aria-colindex on row only</h2>%0A<p>The row has aria-colindex=5; cells have none. Per ARIA spec columns are contiguous from 5. </p>%0A<table aria-colcount="10" aria-rowcount="20">%0A%20 <caption>Test 2 (colindex on row only)</caption>%0A%20 <tr aria-rowindex="3" aria-colindex="5">%0A%20%20%20 <td>Alpha</td>%0A%20%20%20 <td>Beta</td>%0A%20%20%20 <td>Gamma</td>%0A%20 </tr>%0A</table>%0A<p class="exp">Expected per spec: column 5 of 10, column 6 of 10, column 7 of 10</p>%0A%0A<h2>Test 3 - Comparison: aria-rowindex on row only (known working)</h2>%0A<p>Row has aria-rowindex=3; cells have none. Firefox inherits this. Expect row 3 of 20 for each cell.</p>%0A<table aria-colcount="3" aria-rowcount="20">%0A%20 <caption>Test 3 (rowindex on row only)</caption>%0A%20 <tr aria-rowindex="3">%0A%20%20%20 <td aria-colindex="1">Alpha</td>%0A%20%20%20 <td aria-colindex="2">Beta</td>%0A%20%20%20 <td aria-colindex="3">Gamma</td>%0A%20 </tr>%0A</table>%0A<p class="exp">Expected: row 3 of 20 for each cell</p>%0A</body>%0A</html>
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: