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

input-date-picker does not announce the purpose of each input when in range mode #7993

Open
2 of 4 tasks
sansth1010 opened this issue Oct 12, 2023 · 6 comments
Open
2 of 4 tasks
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. ArcGIS Living Atlas Issues logged by ArcGIS Living Atlas 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. 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 p - medium Issue is non core or affecting less that 60% of people using the library resolution: refine For issues we support, but additional details are needed prior to dev work.

Comments

@sansth1010
Copy link

Check existing issues

Summary

US Department of Veterans Affairs has reported accessibility bug on their Hub site's search page which uses input-date-picker component to select date range. input-date-picker doesn't announce what each field in the component is for.

Actual Behavior

As seen in the video below, when input field of input-date-picker gets in focus - voice over says "You are currently in a menu pop-up combo box". Please unmute the video to hear the voice over. You can also see texts of what voice over is saying on the bottom left screen.

Screen.Recording.2023-10-12.at.12.25.01.PM.mov

Expected Behavior

We should hear labels associated with the inputs inside of input-date-picker range like "Start date" and "End date".

Reproduction Sample

https://codepen.io/sansth1010/pen/rNobOwe

Reproduction Steps

  1. Open VoiceOver (CMD+F5)
  2. Click on "Date range" to expand accordion.
  3. Press Ctrl+Option+right-arrow to move focus to first date range input

Reproduction Version

1.4.1

Working W3C Example/Tutorial

No response

Relevant Info

No response

Regression?

No response

Priority impact

p2 - want for current milestone

Calcite package

  • @esri/calcite-components
  • @esri/calcite-components-react
  • @esri/eslint-plugin-calcite-components

Esri team

ArcGIS Hub

@sansth1010 sansth1010 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 12, 2023
@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 12, 2023
@geospatialem geospatialem added estimate - 3 A day or two of work, likely requires updates to tests. p - medium Issue is non core or affecting less that 60% of people using the library needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. and removed p - high Issue should be addressed in the current milestone, impacts component or core functionality needs triage Planning workflow - pending design/dev review. labels Dec 11, 2023
@geospatialem
Copy link
Member

Related: #8480

@geospatialem geospatialem added this to the 2024-07-30 - Jul Release milestone Jan 10, 2024
@geospatialem geospatialem removed the needs milestone Planning workflow - pending milestone assignment, has priority and/or estimate. label Jan 10, 2024
@driskull
Copy link
Member

driskull commented Sep 23, 2024

@geospatialem part of the issue might be that the assistive text element is set to aria-hidden="true"

<span aria-hidden="true" class={CSS.assistiveText} id={this.placeholderTextId}>
Date Format: {this.localeData?.placeholder}
</span>

I'm wondering if this should just use the label property of the calcite-input-text instead of aria-describedby? Seems like a label is more appropriate here? (which would translate to aria-label within the input-text)

Also the Date Format: text isn't localized. I think we need a string Date Format: {format}

@macandcheese @anveshmekala looks like table-cell, table-header, and text-area are doing the same thing. I don't think these elements made for screen readers should have aria-hidden on them.

<span
aria-hidden={true}
aria-live={this.focused ? "polite" : "off"}
class={CSS.assistiveText}

<span
aria-hidden={true}
aria-live={this.focused ? "polite" : "off"}
class={CSS.assistiveText}

<span aria-hidden={true} aria-live="polite" class={CSS.assistiveText} id={this.guid}>
{this.replacePlaceHoldersInMessages()}
</span>

@driskull
Copy link
Member

driskull commented Sep 23, 2024

the aria-hidden on those elements isn't using toAriaBoolean so they really aren't doing anything anyway.

They would be rendered as aria-hidden and not aria-hidden="true". I think that is meaningless

@macandcheese
Copy link
Contributor

macandcheese commented Sep 23, 2024

Yeah happy to update that as needed - For the table-cell it was an attempt at a Safari specific workaround

we can remove that altogether for the next major browser version, I think.

@driskull
Copy link
Member

I wonder if input-date-picker should have its own label property for users to set a custom label?

Currently, they are stuck with Date Format. If they have multiple date pickers this wouldn't be very useful.

@jcfranco jcfranco added the resolution: refine For issues we support, but additional details are needed prior to dev work. label Feb 25, 2025
@geospatialem
Copy link
Member

I wonder if input-date-picker should have its own label property for users to set a custom label?

Currently, they are stuck with Date Format. If they have multiple date pickers this wouldn't be very useful.

@driskull I like this approach. This also came up in a Living Atlas audit in December 2024. Having a label attribute with more context would be beneficial.

Currently in NVDA the following is read back when the component does not have a value, which could be improved upon:

MM/DD/YYYY edit blank

@geospatialem geospatialem added the ArcGIS Living Atlas Issues logged by ArcGIS Living Atlas team members. label Feb 25, 2025
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. ArcGIS Living Atlas Issues logged by ArcGIS Living Atlas 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. 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 p - medium Issue is non core or affecting less that 60% of people using the library resolution: refine For issues we support, but additional details are needed prior to dev work.
Projects
None yet
Development

No branches or pull requests

5 participants