fix(web): offer the aria roles a user activates

only role=button was in the tappable set, so link, checkbox, radio,
switch, tab, option, the menuitems and treeitem were invisible to the
enumeration however plain the control looked. the replay ui builds its
step rows as <li role="option">, and the spec dogfooding it had to
hand-write an action to reach them because no default verb could see a
single row.

both producers build the set from the same role list, since the parity
test compares them element by element.
This commit is contained in:
pj committed 2026-08-15 12:46:05 +05:30
1 parent ce4f660098
commit a460eba3db
3 files changed
+38 -2

No files matched your search

+16
View File
@@ -56,6 +56,22 @@
<textarea id="notes"></textarea>
<div id="bio" contenteditable="true">bio</div>
<div id="menu" role="button">menu</div>
<!-- One element per ARIA role both producers resolve as clickable. A role
covered on one side only makes that control reachable for one host,
which is how the whole set is kept honest: role="option" is the shape
the replay UI gives its step rows. -->
<div id="role-link" role="link">link</div>
<div id="role-checkbox" role="checkbox">checkbox</div>
<div id="role-radio" role="radio">radio</div>
<div id="role-switch" role="switch">switch</div>
<div id="role-tab" role="tab">tab</div>
<div id="role-menuitem" role="menuitem">menu item</div>
<div id="role-menuitemcheckbox" role="menuitemcheckbox">menu item checkbox</div>
<div id="role-menuitemradio" role="menuitemradio">menu item radio</div>
<div id="role-treeitem" role="treeitem">tree item</div>
<ul id="role-listbox" role="listbox">
<li id="role-option" role="option">option</li>
</ul>
<div id="attribute-click" onclick="void 0">attribute click</div>
<div id="delegating-root">delegating root</div>
<div id="plain">plain</div>