Implement mappings for emphasis, strong, time, and generic ARIA 1.2 roles
Categories
(Core :: Disability Access APIs, enhancement)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox124 | --- | fixed |
People
(Reporter: jdiggs, Assigned: nlapre)
References
(Blocks 2 open bugs)
Details
Attachments
(4 files)
I believe these are the last of the unimplemented roles from ARIA 1.2:
- data:text/html,<div role='emphasis'>...</div>
- Linux: ATK_ROLE_STATIC
- Mac: AXSubrole of AXEmphasisStyleGroup
- data:text/html,<div role='strong'>...</div>
- Linux: ATK_ROLE_STATIC
- Mac: AXSubrole of AXStrongStyleGroup
- data:text/html,<div role='time'>...</div>
- Linux: ATK_ROLE_STATIC
- Mac: AXSubrole of AXTimeGroup
- data:text/html,<h2 role='generic'>...</h2>
- Linux: ATK_ROLE_SECTION
- Mac: AXSubrole of <nil>
Related aside: For many (all?) of the roles in the Core-AAM for which the AXSubrole is specified as "<nil>", Firefox exposes AXUknown. Safari and Chrome expose no subrole. Not sure how much that matters functionally, but it's leading to official test failures. <insert shrug here>
Updated•4 years ago
|
Comment 1•3 years ago
|
||
It looks like also subscript and superscript has not been implemented for IA2, these changes are also for ARIA 1.2:
- data:text/html,<div role='subscript'>...</div>
- Linux: ATK_ROLE_SUBSCRIPT
- data:text/html,<div role='superscript'>...</div>
- Linux: ATK_ROLE_SUPERSCRIPT
Comment 2•3 years ago
|
||
I wrote IA2, but meant ATK above. However, it looks like IA2 role mapping is not correct as well.
Best to look at:
Comment 3•3 years ago
|
||
(In reply to spectranaut from comment #1)
It looks like also subscript and superscript has not been implemented for ATK, these changes are also for ARIA 1.2:
How did you test this? From what I can see in the code, this has already been implemented. I don't have a Linux setup to test with at the moment, so I can't verify this myself just now.
(In reply to spectranaut from comment #2)
it looks like IA2 role mapping is not correct as well.
data:text/html,<div role='subscript'>...</div>
I see IA2_ROLE_TEXT_FRAME here, which is correct per spec.
Comment 4•3 years ago
|
||
Wow so sorry! My mistake, I was testing on an old firefox (104). I can see the correct result now in the nightly.
Comment 5•3 years ago
|
||
Here are the IA2 and MSAA roles that need to be updated for these ARIA roles:
- data:text/html,<div role='emphasis'>...</div>
- IA2: IA2_ROLE_TEXT_FRAME (spec)
- data:text/html,<div role='strong'>...</div>
- IA2: IA2_ROLE_TEXT_FRAME (spec)
- data:text/html,<div role='time'>...</div>
- MSAA: ROLE_SYSTEM_TEXT (spec pr)
- data:text/html,<h2 role='generic'>...</h2>
- IA2: IA2_ROLE_SECTION (spec)
Comment 6•3 years ago
|
||
(In reply to spectranaut from comment #5)
Here are the IA2 and MSAA roles that need to be updated for these ARIA roles:
...
- data:text/html,<div role='time'>...</div>
- MSAA: ROLE_SYSTEM_TEXT (spec pr)
based on the discussion in the CORE-AAM PR, this should be ROLE_SYSTEM_GROUPING
Comment 7•2 years ago
|
||
We should also update the HTML mappings for <em>, <strong> and <time>.
| Assignee | ||
Comment 8•2 years ago
|
||
This revision implements the mapping for the ARIA 1.2 emphasis role, which was
unsupported in Firefox until now. This change addresses a web platform test
failure. To accomplish this, the revision adds the WAI-defined role, adds a role
enum value, adds platform mappings, and adds a markup role mappnig. The change
requires a new static atom for the word "emphasis," also added in this revision.
Finally, this change removes the expected wpt failure and updates other tests.
Updated•2 years ago
|
| Assignee | ||
Comment 9•2 years ago
|
||
This revision implements mapping for the ARIA 1.2 'strong' role by adding a
markup mapping, a role definition, and platform mappings. This revision also
removes the expected failures in the wpt test suite and fixes other tests.
Depends on D200130
| Assignee | ||
Comment 10•2 years ago
|
||
This revision adds role mappings for the 'time' ARIA role by implementing HTML
markup mapping, adding platform mappings, and adding the role info itself. This
revision also enables the previously-failed wpt tests and fixes other tests.
Depends on D200131
| Assignee | ||
Comment 11•2 years ago
|
||
This revision 'implements' the 'generic' ARIA role mapping by mapping ARIA
'generic' to Gecko 'section.' This isn't a full implementation of 'generic' - it
sidesteps it to avoid dealing with larger 'generic' issues (namely: that there
are multiple roles that are 'generic' in Gecko currently). We'll sort that out
in a later commit.
Depends on D200132
Updated•2 years ago
|
Comment 12•2 years ago
|
||
Comment 14•2 years ago
|
||
Backed out for causing osx browser-a11y failures on browser_text_basics.js.
[task 2024-02-08T02:01:23.729Z] 02:01:23 INFO - TEST-PASS | accessible/tests/browser/mac/browser_text_basics.js | undefined assertion name -
[task 2024-02-08T02:01:23.730Z] 02:01:23 INFO - Buffered messages finished
[task 2024-02-08T02:01:23.731Z] 02:01:23 INFO - TEST-UNEXPECTED-FAIL | accessible/tests/browser/mac/browser_text_basics.js | undefined assertion name - Got "", expected "clearly"
[task 2024-02-08T02:01:23.731Z] 02:01:23 INFO - Stack trace:
[task 2024-02-08T02:01:23.731Z] 02:01:23 INFO - chrome://mochikit/content/browser-test.js:test_is:1620
[task 2024-02-08T02:01:23.731Z] 02:01:23 INFO - chrome://mochitests/content/browser/accessible/tests/browser/mac/browser_text_basics.js:null:374
[task 2024-02-08T02:01:23.731Z] 02:01:23 INFO - chrome://mochitests/content/browser/accessible/tests/browser/mac/browser_text_basics.js:null:373
[task 2024-02-08T02:01:23.731Z] 02:01:23 INFO - chrome://mochitests/content/browser/accessible/tests/browser/shared-head.js:accessibleTask/</<:554
[task 2024-02-08T02:01:23.731Z] 02:01:23 INFO - resource://testing-common/BrowserTestUtils.sys.mjs:withNewTab:146
[task 2024-02-08T02:01:23.732Z] 02:01:23 INFO - chrome://mochitests/content/browser/accessible/tests/browser/shared-head.js:accessibleTask/<:473
[task 2024-02-08T02:01:23.732Z] 02:01:23 INFO - chrome://mochikit/content/browser-test.js:handleTask:1139
[task 2024-02-08T02:01:23.732Z] 02:01:23 INFO - chrome://mochikit/content/browser-test.js:_runTaskBasedTest:1211
[task 2024-02-08T02:01:23.732Z] 02:01:23 INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1353
[task 2024-02-08T02:01:23.732Z] 02:01:23 INFO - chrome://mochikit/content/browser-test.js:nextTest/<:1128
[task 2024-02-08T02:01:23.732Z] 02:01:23 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/<:1058
[task 2024-02-08T02:01:23.732Z] 02:01:23 INFO - TEST-PASS | accessible/tests/browser/mac/browser_text_basics.js | undefined assertion name -
| Assignee | ||
Comment 16•2 years ago
|
||
Updated to fix the mac test - see comment here.
Comment 17•2 years ago
|
||
Comment 18•2 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/1ca3e9ac42e0
https://hg.mozilla.org/mozilla-central/rev/a6d188782d5d
https://hg.mozilla.org/mozilla-central/rev/d717aa94c2ea
https://hg.mozilla.org/mozilla-central/rev/55bbf06eb769
Description
•