You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mappings for <meter> should be different from <progress> #2
The element has an incorrect default ARIA role of progressbar which causes some assistive technology (I've tested in VoiceOver on OSX 10.11) to announce the element as a "progress indicator" and the value of the element as a percentage rather than the defined value (for example "80%" instead of "4 out of 5").
The HTML AAM specifies no corresponding ARIA role for meter, but it looks like the separate mappings for meter in MSAA+IA2, UIA, and AX reflect the progressbar role and progress element, which isn't correct.
@asurkov, the definition for ROLE_SYSTEM_PROGRESSBAR is wrong for meter. The meter element has semantics distinct from progressbar. Any suggestions? I note that ATK is using ATK_ROLE_LEVEL_BAR (as recommended in ARIA issue #150), which is certainly closer to the semantic for meter, but IA2 doesn't have a similar role.
@cyns, you raised the question of UIA mapping for meter in ARIA issue #344. What's there looks to be the same as the mapping for the progressbar role. How do you suggest UIA distinguish the meter and progress elements?
@cookiecrook, same question: the AX mappings for meter and progress elements are the same and don't reflect the different semantics. Is there a better role/roledescription for meter?
I think I agree that HTML5 progress and HTML5 meter have different semantics, I'd say that HTML5 progress is a special case of HTML5 meter concept, i.e. HTML5 progress is a meter that is used to track the progress.
Looks like mostly agreement that current mappings are wrong for MSAA+IA2, UIA, and AX. We need more information on what these mappings should be. In the meantime, I'm replacing (via 5ca8528) the incorrect mappings with '?' in the mapping table to indicate that more data on appropriate mappings is required.
UIA still maps meter to ProgressBar Control Type. @boggydigital: any plans to create new Control Type or map meter differently, given that it is not a progress bar?
It is not that far off - a progress bar seems to be a specialised version of meter (fixed start value of zero, allows for no known values, is expected to be dynamic).
@melanierichards: Could you please respond to the question @jasonkiss asked? Right now there are no mappings shown for your platform. And we want your platform filled out here so we can fill it out in the Core-AAM for our new meter role.
Reporting on the current reality, the mappings in UIA are still:
Control Type: ProgressBar
Localized Control Type: meter
Control Pattern: RangeValue
I'm not previously tracking open plans to change the mapping or suggest a new Control Pattern so these mappings are stable for now, but I'll consider the original issue here and if there's any changes we can make or suggest on our platform.
Thanks @melanierichards. Could you please do a pull request and then get @stevefaulkner or @scottaohara to review it? That will fill in the blank in their spec and then I'll just copy that for the new meter role in ARIA.
Regarding the updates that have been done here, going to close this issue.
Once ARIA 1.2 is published and the meter role, among other new roles are added, we will need to address referencing those in HTML AAM. New issue for this incoming.
@stevefaulkner correcting the mapping in Chrome unfortunately leads to a worse experience.
Using <p>Heat the oven to <meter min="200" max="500" value="350">350 degrees</meter></p>
Current Chrome, with incorrect mapping of ROLE_SYSTEM_PROGRESSBAR:
JAWS: [down arrow] Heat the oven to [down arrow] 350 meter
NVDA: [down arrow] Heat the oven to [down arrow] progress bar 350
Patched Chrome, with correct mapping of IA2_ROLE_LEVEL_BAR:
JAWS: [down arrow] Heat the oven to (another down arrow does not read the meter at all)
NVDA: [down arrow] Heat the oven to [down arrow] 350
Although one might argue that NVDA should not be calling it a progress bar, at least it's understandable.
Finally, I wonder how the screen reader should output the min and max. They seem relevant.
I feel like the text inside of the meter is more descriptive and is what should be read.
We should probably update the mapping to expose the inner text via the valuetext attribute on IA2/ATK and AXValueDescription for AX.
Activity
asurkov commentedon Oct 13, 2016
I think I agree that HTML5 progress and HTML5 meter have different semantics, I'd say that HTML5 progress is a special case of HTML5 meter concept, i.e. HTML5 progress is a meter that is used to track the progress.
I started IA2 thread on this issue [1].
[1] https://lists.linuxfoundation.org/pipermail/accessibility-ia2/2016-October/002198.html
cookiecrook commentedon Oct 27, 2016
I filed: https://webkit.org/b/164051
updates to <meter>/issue #2
jasonkiss commentedon Nov 30, 2017
Looks like mostly agreement that current mappings are wrong for MSAA+IA2, UIA, and AX. We need more information on what these mappings should be. In the meantime, I'm replacing (via 5ca8528) the incorrect mappings with '?' in the mapping table to indicate that more data on appropriate mappings is required.
Add IA2 mapping for HTML:meter (#2)
asurkov commentedon Jan 31, 2018
pushed IA2 change ef13d52 for new IA2_ROLE_LEVEL_BAR (LinuxA11y/IAccessible2@0447f85)
Change log entries for recent fixes
jasonkiss commentedon Feb 6, 2018
@cookiecrook has filed a bug for this for Webkit/AX.
UIA still maps
meterto ProgressBar Control Type. @boggydigital: any plans to create new Control Type or mapmeterdifferently, given that it is not a progress bar?chaals commentedon Feb 7, 2018
It is not that far off - a progress bar seems to be a specialised version of meter (fixed start value of zero, allows for no known values, is expected to be dynamic).
joanmarie commentedon Feb 5, 2019
@melanierichards: Could you please respond to the question @jasonkiss asked? Right now there are no mappings shown for your platform. And we want your platform filled out here so we can fill it out in the Core-AAM for our new
meterrole.melanierichards commentedon Feb 5, 2019
@joanmarie @jasonkiss
Reporting on the current reality, the mappings in UIA are still:
I'm not previously tracking open plans to change the mapping or suggest a new Control Pattern so these mappings are stable for now, but I'll consider the original issue here and if there's any changes we can make or suggest on our platform.
joanmarie commentedon Feb 7, 2019
Thanks @melanierichards. Could you please do a pull request and then get @stevefaulkner or @scottaohara to review it? That will fill in the blank in their spec and then I'll just copy that for the new
meterrole in ARIA.joanmarie commentedon Feb 25, 2019
#169 has the mappings for macOS. (Apple fixed their mappings in WebKit, so I used their new expectations to populate the HTML-AAM table.)
scottaohara commentedon Feb 25, 2019
Closing per merge of #169
Thank you again
joanmarie commentedon Feb 25, 2019
@scottaohara. You don't have the UIA mappings for meter; just a "?"
https://w3c.github.io/html-aam/#el-meter
@melanierichards said she'd do a pull request for her platform, so I didn't do that one; just macOS. Sorry!
scottaohara commentedon Feb 25, 2019
ah, sorry! i need more coffee...
melanierichards commentedon Feb 28, 2019
Hi folks, apologies for the delay! Got a bit jammed up with my personal backlog. Just submitted PR #172.
@joanmarie @scottaohara
scottaohara commentedon Jul 24, 2019
Regarding the updates that have been done here, going to close this issue.
Once ARIA 1.2 is published and the
meterrole, among other new roles are added, we will need to address referencing those in HTML AAM. New issue for this incoming.stevefaulkner commentedon Aug 2, 2020
In chrome Version 84.0.4147.105 (Official Build) (64-bit)
meteris exposed asprogress barin MSAA + iA2, expected Role: IA2_ROLE_LEVEL_BAR as per https://www.w3.org/TR/html-aam-1.0/#details-id-91 /cc @aleventhalaleventhal commentedon Aug 13, 2020
@stevefaulkner correcting the mapping in Chrome unfortunately leads to a worse experience.
Using
<p>Heat the oven to <meter min="200" max="500" value="350">350 degrees</meter></p>Current Chrome, with incorrect mapping of ROLE_SYSTEM_PROGRESSBAR:
JAWS: [down arrow] Heat the oven to [down arrow] 350 meter
NVDA: [down arrow] Heat the oven to [down arrow] progress bar 350
Patched Chrome, with correct mapping of IA2_ROLE_LEVEL_BAR:
JAWS: [down arrow] Heat the oven to (another down arrow does not read the meter at all)
NVDA: [down arrow] Heat the oven to [down arrow] 350
Although one might argue that NVDA should not be calling it a progress bar, at least it's understandable.
Finally, I wonder how the screen reader should output the min and max. They seem relevant.
aleventhal commentedon Aug 13, 2020
I feel like the text inside of the meter is more descriptive and is what should be read.
We should probably update the mapping to expose the inner text via the valuetext attribute on IA2/ATK and AXValueDescription for AX.
JAWS-test commentedon Aug 13, 2020
See w3c/aria#1308