<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&#64;lists.webkit.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jcraig&#64;apple.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>webkit-bug-importer&#64;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:

&lt;div aria-label=&quot;1&quot;&gt;1&lt;/div&gt;
&lt;div aria-label=&quot;2&quot;&gt;2&lt;/div&gt;
&lt;div aria-label=&quot;3&quot;&gt;3&lt;/div&gt;

By default, WebKit exposes layout blocks as an AXGroup, and the aria-label as the AXTitle. This means users with bookended groups redundantly hear:

&quot;1 group, 1, end of group&quot;
&quot;2 group, 3, end of group&quot;
&quot;3 group, 3, end of group&quot;

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 &quot;group&quot; 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 &#64;aria-labelledby or &#64;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>