Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Min and max value not read out for <meter> element #16678

Open
tranjocelyn opened this issue Jun 11, 2024 · 2 comments
Open

Min and max value not read out for <meter> element #16678

tranjocelyn opened this issue Jun 11, 2024 · 2 comments
Labels
app/chrome p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.

Comments

@tranjocelyn
Copy link

Steps to reproduce:

  1. Open Chrome
  2. Paste the following code into the address bar
    data:text/html,<p>Heat the oven to <meter min="200" max="500" value="350">350 degrees</meter></p>
  3. Press Enter

Actual behavior:

NVDA reads:

[down arrow] Heat the oven to [down arrow] progress bar 350

Expected behavior:

I would expect NVDA to read out the min and max values, maybe something like

[down arrow] Heat the oven to [down arrow] Meter value 350, min 200, max 500

I am not a screen reader user though, so I would defer to others on this.

Additional Information

According to CORE-AAM, the meter element (and also role="meter") should map to IA2_ROLE_LEVEL_BAR. However, Chrome currently incorrectly maps to ROLE_SYSTEM_PROGRESSBAR.

With current mapping of ROLE_SYSTEM_PROGRESSBAR for the sample code, NVDA reads:

[down arrow] Heat the oven to [down arrow] progress bar 350

With correct mapping of IA2_ROLE_LEVEL_BAR for the sample code, NVDA reads:

[down arrow] Heat the oven to [down arrow] 350

Neither mapping is ideal since both leave out relevant information. If NVDA can support IA2_ROLE_LEVEL_BAR so that the min and max values are read out, Chrome could start exposing meter as IA2_ROLE_LEVEL_BAR instead of ROLE_SYSTEM_PROGRESSBAR.

@michaelDCurran michaelDCurran added p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority app/chrome triaged Has been triaged, issue is waiting for implementation. labels Jun 11, 2024
@michaelDCurran
Copy link
Member

For anyone implementing this, it might be best to match against the IA2attributes tag:meter or xml-role:meter, rather than looking at the IA2 role at all. Then we can report meter, whether it has been mapped to progressbar or level_bar.

@Adriani90
Copy link
Collaborator

The same problems are also encountered on sliders and spin buttons with min and max values.
Related issues are: #13209, #12368, #6906.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app/chrome p4 https://github.com/nvaccess/nvda/blob/master/projectDocs/issues/triage.md#priority triaged Has been triaged, issue is waiting for implementation.
Projects
None yet
Development

No branches or pull requests

3 participants