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

[med] Chrome + Jaws: Role is not defined for Payment method controls. #8618

Closed
Stutikuls opened this issue Apr 13, 2022 · 1 comment
Closed

Comments

@Stutikuls
Copy link

Stutikuls commented Apr 13, 2022

Action Performed:

  1. Using Chrome, open URL staging.new.expensify.com
  2. Navigate to Setting using Tab key and press Enter to select it.
  3. Navigate to payment using Tab key and press using Enter to select it.
  4. Observe the screen reader announcement.

Expected Result:

Screen reader should read the role = button along with the name of the control.

Actual Result:

screen reader is only reading name of the control, role is not defined.

HTML:
<div tabindex="0" class="css-1dbjc4n r-1loqt21 r-18u37iz r-1otgn73 r-13qz1uu" style="border-radius: 0px; justify-content: space-between; padding: 12px 20px; -webkit-box-pack: justify;"><div class="css-1dbjc4n r-18u37iz r-633pao"><div class="css-1dbjc4n r-1awozwy r-1777fci" style="height: 40px; width: 40px;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20" fill="#C6C9CA"><path d="M17.5 2.5h-15c-.7 0-1.3.5-1.3 1.3v2.5h17.5V3.8c.1-.8-.5-1.3-1.2-1.3zM1.2 15c0 .8.5 1.2 1.2 1.2h15c.8 0 1.2-.5 1.2-1.2V7.5H1.2V15z"></path></svg></div><div class="css-1dbjc4n r-1777fci" style="min-height: 40px;"><div dir="auto" class="css-901oao css-nfaoni" style="color: rgb(11, 27, 52); font-family: GTAmericaExp-Regular; font-size: 15px; font-weight: 700; line-height: 20px; margin-left: 12px; max-width: 240px; text-align: left;">Ionatan Wiznia Fresco</div><div dir="auto" class="css-901oao" style="color: rgb(125, 139, 143); font-family: GTAmericaExp-Regular; font-size: 13px; margin-left: 12px; margin-top: 4px; text-align: left;">Card ending in 0004</div></div></div><div class="css-1dbjc4n r-18u37iz r-633pao" style="min-height: 40px;"></div></div>

Other occurrences

Same issue repro on PR #8817, #8832, #8877, #9207, #9312
Same issue repro on PR #8795, #8609 - Role is not defined for payment method, issue cards, reimburse expenses, pay bills, send invoices, book travel
Same issue repro on PR #8483, #8952 -Role is not defined for user profile.
Same issue repro on PR #8845, #8808, #8737, #8993, #8969 -Role is not defined for connect bank account and connect online with plaid.

Workaround:

Yes

Area issue was found in:

Payments

Failed WCAG checkpoints

4.1.2

User impact:

Screen reader user might be confused without knowing the role of the interactive element, so the user is not able to take any action over the control.

Suggested resolution:

Add the role="button" for the send control or implement the element as a native button, so that the role can be announced by screen reader. Refer to: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/button_role

Platform:

  • Web
  • iOS
  • Android
  • Desktop App
  • Mobile Web

Version Number: *v1.1.54-0
Reproducible in staging?: Yes
Reproducible in production?: Yes
Notes/Photos/Videos: Any additional supporting documentation
Issue reported by: Stuti

8410_Role.is.not.defined.for.the.controls.mp4
@melvin-bot
Copy link

melvin-bot bot commented Jul 1, 2022

@Stutikuls, this Monthly task hasn't been acted upon in 6 weeks; closing.

If you disagree, feel encouraged to reopen it -- but pick your least important issue to close instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant