<html>
<head>
<base href="https://bugs.webkit.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - AX: WebKit should not expose redundant AXGroups with missing role when the label is the same as the contents"
href="https://bugs.webkit.org/show_bug.cgi?id=169924">169924</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>AX: WebKit should not expose redundant AXGroups with missing role when the label is the same as the contents
</td>
</tr>
<tr>
<th>Product</th>
<td>WebKit
</td>
</tr>
<tr>
<th>Version</th>
<td>WebKit Nightly Build
</td>
</tr>
<tr>
<th>Hardware</th>
<td>All
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>Normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P2
</td>
</tr>
<tr>
<th>Component</th>
<td>Accessibility
</td>
</tr>
<tr>
<th>Assignee</th>
<td>webkit-unassigned@lists.webkit.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>jcraig@apple.com
</td>
</tr>
<tr>
<th>CC</th>
<td>webkit-bug-importer@group.apple.com
</td>
</tr></table>
<p>
<div>
<pre>AX: WebKit should not expose redundant AXGroups with missing role when the label is the same as the contents... Unless there are click/key event handlers or some other heuristic indicator of meaning.
VoiceOver users on staff found the following markup pattern problematic:
<div aria-label="1">1</div>
<div aria-label="2">2</div>
<div aria-label="3">3</div>
By default, WebKit exposes layout blocks as an AXGroup, and the aria-label as the AXTitle. This means users with bookended groups redundantly hear:
"1 group, 1, end of group"
"2 group, 3, end of group"
"3 group, 3, end of group"
Yes, it's an authoring problem, but it happens enough that I think we should work around it.
Proposal: On generic elements (GroupRole, not ApplicationGroupRole):
- If there is no explicit role, (With <a class="bz_bug_link
bz_status_NEW "
title="NEW - AX: Expose a new AXSubrole for explicit ARIA "group" role"
href="show_bug.cgi?id=169810">bug 169810</a>, ARIA grouping roles will be WebCore ApplicationGroupRole, not WebCore GroupRole.)
- and if there is no click or key-down/up/press handler (nothing to make the AXGroup actionable)
- and if the content string matches the computed @aria-labelledby or @aria-label string...
Expose only the generic view: AXGroup with no AXTitle. VoiceOver will read the contents.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>