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

Accessibility improvement: Add a role, label, and voiceover to the "close" X button #3102

Closed
arielgreen opened this issue May 24, 2021 · 18 comments · Fixed by #3351
Closed
Assignees
Labels
Daily KSv2 External Added to denote the issue can be worked on by a contributor

Comments

@arielgreen
Copy link
Contributor

arielgreen commented May 24, 2021

If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!


Expected Result:

The "close" X should have a role, label, and voiceover

Actual Result:

There is no role, label, or voiceover to the "close" X button

Action Performed:

  1. Turn on Screen Reader or Voiceover
  2. Launch the Expensify.cash app or website
  3. Swipe or click into any menu that has an X "close" button. For example:
  • ( + ) > New Chat > X
  • ( + ) > Request Money > X
  • ( + ) > New Group > X
  • tap avatar icon > X
  • tap search 🔍 icon > X
  1. Notice that the X "Close" button doesn't have a role, label, or voiceover component.

Platform:

  • Windows/JAWS/Chrome
  • MACOs/Voiceover/Safari
  • Android/Talkback
  • iOS/Voiceover
  • MacWebapp/Voiceover

Notes/Photos/Videos:

Video - https://user-images.githubusercontent.com/37308300/119419108-7dcc8000-bcc7-11eb-9036-bb53c6e951b7.mp4

Upwork job link - https://www.upwork.com/jobs/~013b962eb299963c76

View all open jobs on Upwork

@arielgreen arielgreen added the External Added to denote the issue can be worked on by a contributor label May 24, 2021
@MelvinBot

This comment has been minimized.

@michaelhaxhiu

This comment has been minimized.

@michaelhaxhiu michaelhaxhiu reopened this May 27, 2021
@michaelhaxhiu michaelhaxhiu added the Planning Changes still in the thought process label May 27, 2021
@michaelhaxhiu

This comment has been minimized.

@parasharrajat
Copy link
Member

@michaelhaxhiu There are couple of good reasons we want things to be accessible. Here the brief information how web will tackle this https://necolas.github.io/react-native-web/docs/accessibility/.

And https://reactnative.dev/docs/0.63/accessibility for native devices.

@michaelhaxhiu

This comment has been minimized.

@parasharrajat

This comment has been minimized.

@michaelhaxhiu

This comment has been minimized.

@arielgreen

This comment has been minimized.

@michaelhaxhiu

This comment has been minimized.

@michaelhaxhiu michaelhaxhiu changed the title Accessibility improvement: In new chat window, role and label are missing for "Close" Accessibility improvement: Add Role and Label for the "Close" chat X button May 28, 2021
@stitesExpensify stitesExpensify added Weekly KSv2 and removed Daily KSv2 labels May 28, 2021
@michaelhaxhiu michaelhaxhiu changed the title Accessibility improvement: Add Role and Label for the "Close" chat X button Accessibility improvement: Add a role, label, and voiceover to the "Close" X button Jun 2, 2021
@michaelhaxhiu michaelhaxhiu added Daily KSv2 and removed Weekly KSv2 Planning Changes still in the thought process labels Jun 2, 2021
@michaelhaxhiu michaelhaxhiu changed the title Accessibility improvement: Add a role, label, and voiceover to the "Close" X button Accessibility improvement: Add a role, label, and voiceover to the "close" X button Jun 2, 2021
@michaelhaxhiu
Copy link
Contributor

Upwork job posted here for $250 - https://www.upwork.com/jobs/~013b962eb299963c76

@dklymenk
Copy link
Contributor

dklymenk commented Jun 2, 2021

Proposal

Should be as simple as adding

accessibilityRole="button"
accessibilityLabel="close"

here

https://github.com/Expensify/Expensify.cash/blob/c85ded0f70fd744ac67e53816c311b060ac68af9/src/components/HeaderWithCloseButton.js#L76-L79

and since IOU modal doesn't use the HeaderWithCloseButton component also add that here
https://github.com/Expensify/Expensify.cash/blob/8b979de2cf00deafbba85c5c139f6d78cd1fd3f2/src/pages/iou/IOUModal.js#L294-L297

But that's just the basics. Since we don't hardcode stings I'll also need to add "close" to translations in a similar way it was done in this PR.

Here is how it's going to work on android for example (don't forget to turn on the sound):

3102.mp4

EDIT: Added an android video example.

@stitesExpensify
Copy link
Contributor

Looks good to me!

@michaelhaxhiu
Copy link
Contributor

Looks good to me too!

@dklymenk going to hire you in Upwork and assign this GH to you. BTW - you have a great avatar pic btw, love south park.

@dklymenk
Copy link
Contributor

dklymenk commented Jun 3, 2021

Submitted a PR

mountiny added a commit that referenced this issue Jun 4, 2021
…d-label-to-close-button

#3102 add accessibility role and label to close button
@michaelhaxhiu
Copy link
Contributor

Set a reminder for my self to pay @dklymenk on June 10 (to allow 7 days for any potential regression discoveries/fixes).

@iwiznia
Copy link
Contributor

iwiznia commented Jun 10, 2021

Found a regression here, please hold on payment

dklymenk added a commit to dklymenk/Expensify.cash that referenced this issue Jun 10, 2021
@michaelhaxhiu
Copy link
Contributor

Awaiting your thumbs up to pay the contributor @iwiznia

Luke9389 added a commit that referenced this issue Jun 11, 2021
@iwiznia
Copy link
Contributor

iwiznia commented Jun 11, 2021

This is the new PR #3525 and it was already merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Daily KSv2 External Added to denote the issue can be worked on by a contributor
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants