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

textarea character count should support screen readers #10492

Open
2 of 6 tasks
mjuniper opened this issue Oct 7, 2024 · 4 comments
Open
2 of 6 tasks

textarea character count should support screen readers #10492

mjuniper opened this issue Oct 7, 2024 · 4 comments
Labels
0 - new New issues that need assignment. a11y Issues related to Accessibility fixes or improvements. ArcGIS Hub Issues logged by ArcGIS Hub team members. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. calcite-components Issues specific to the @esri/calcite-components package. design Issues that need design consultation prior to development. estimate - 3 A day or two of work, likely requires updates to tests. impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone needs triage Planning workflow - pending design/dev review. p - low Issue is non core or affecting less that 10% of people using the library spike complete Issues that have a research spike completed and dev work can proceed

Comments

@mjuniper
Copy link
Member

mjuniper commented Oct 7, 2024

Check existing issues

Summary

We got an accessibility violation on calcite-text-area when LevelAccess audited Hub.

Updates to the character counter (when a maxLength is specified) need to be announced.

Actual Behavior

Updates to the character count element are not announced by screen readers.

Expected Behavior

Updates to the character count element should be announced by screen readers.

Reproduction Sample

https://codepen.io/mjuniper/pen/eYqdNdg?editors=1000

Reproduction Steps

  1. Visit https://codepen.io/mjuniper/pen/eYqdNdg?editors=1000
  2. Turn on voiceover
  3. Type in the textarea
  4. Observe that updates to the character count are not announced.

Reproduction Version

2.13.0

Working W3C Example/Tutorial

No response

Relevant Info

No response

Regression?

No response

Priority impact

impact - p2 - want for an upcoming milestone

Calcite package

  • @esri/calcite-components
  • @esri/calcite-components-angular
  • @esri/calcite-components-react
  • @esri/calcite-design-tokens
  • @esri/eslint-plugin-calcite-components

Esri team

ArcGIS Hub

@mjuniper mjuniper added 0 - new New issues that need assignment. a11y Issues related to Accessibility fixes or improvements. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. needs triage Planning workflow - pending design/dev review. p - high Issue should be addressed in the current milestone, impacts component or core functionality labels Oct 7, 2024
@github-actions github-actions bot added ArcGIS Hub Issues logged by ArcGIS Hub team members. calcite-components Issues specific to the @esri/calcite-components package. impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone labels Oct 7, 2024
@geospatialem
Copy link
Member

@mjuniper The above is supported in Calcite with JAWS and NVDA as of 1.5.0 (July 2023) via #6630. I re-tested and was able to gain context in 2.13.0 with the above example in Windows' JAWS and NVDA. Do you know if an earlier version of Calcite was tested with Level?

@mjuniper
Copy link
Member Author

mjuniper commented Oct 8, 2024

It was definitely an earlier version but I don't know what version.

But at 2.13, VoiceOver does not announce the character counter but it does announce when you are over the character limit.

@geospatialem geospatialem self-assigned this Oct 8, 2024
@geospatialem geospatialem added 1 - assigned Issues that are assigned to a sprint and a team member. p - low Issue is non core or affecting less that 10% of people using the library spike Issues that need quick investigations for time estimations, prioritization, or a quick assessment. and removed 0 - new New issues that need assignment. p - high Issue should be addressed in the current milestone, impacts component or core functionality needs triage Planning workflow - pending design/dev review. labels Oct 8, 2024
@geospatialem
Copy link
Member

Adding a spike to conduct more thorough testing across AT. In coordination with Hub team members it appears the Level test was conducted with Calcite 1.11.0, so the above fix would have been adopted.

@geospatialem
Copy link
Member

geospatialem commented Nov 6, 2024

As mentioned above this only occurs when the user is interacting with the component when the character count is under the specified maxLength. In perusing WCAG criteria, this seems to fall under SC 3.3.5: Help (Level AAA), however we do provide the text visually, so we should aim to provide this support to assistive technologies.

This is also provided in the U.S. Web Design System (USWDS)'s Character count component.

image

This effort is low since it is a level AAA, but text-area should accommodate providing context when maxLength is specified, where:

  • Context is provided when the maxLength is specified (currently offered)
  • Context is provided that a maxLength is enabled on the component, and the characters remaining should be provided back to assistive technologies

Also sending this request over to design to determine if Calcite should consider only depicting the remaining characters visually, changing the component's current design and behavior.

@geospatialem geospatialem added the spike complete Issues that have a research spike completed and dev work can proceed label Nov 6, 2024
@github-actions github-actions bot added 0 - new New issues that need assignment. needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed spike Issues that need quick investigations for time estimations, prioritization, or a quick assessment. 1 - assigned Issues that are assigned to a sprint and a team member. labels Nov 6, 2024
@geospatialem geospatialem added the estimate - 3 A day or two of work, likely requires updates to tests. label Nov 6, 2024
@geospatialem geospatialem added design Issues that need design consultation prior to development. needs triage Planning workflow - pending design/dev review. and removed needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. labels Nov 6, 2024
@Esri Esri deleted a comment from github-actions bot Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 - new New issues that need assignment. a11y Issues related to Accessibility fixes or improvements. ArcGIS Hub Issues logged by ArcGIS Hub team members. bug Bug reports for broken functionality. Issues should include a reproduction of the bug. calcite-components Issues specific to the @esri/calcite-components package. design Issues that need design consultation prior to development. estimate - 3 A day or two of work, likely requires updates to tests. impact - p2 - want for an upcoming milestone User set priority impact status of p2 - want for an upcoming milestone needs triage Planning workflow - pending design/dev review. p - low Issue is non core or affecting less that 10% of people using the library spike complete Issues that have a research spike completed and dev work can proceed
Projects
None yet
Development

No branches or pull requests

2 participants