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

Improve accessibility for the visually impaired #1150

Closed
neosonic2 opened this issue Apr 10, 2021 · 68 comments
Closed

Improve accessibility for the visually impaired #1150

neosonic2 opened this issue Apr 10, 2021 · 68 comments
Labels
help wanted Extra attention is needed

Comments

@neosonic2
Copy link

I am a completely blind individual using the VoiceOver screen reading program on macOS to navigate around the Internet, including working inside Freescout.

While the Web app is pretty accessible out of the box, there are many areas of the interface that could use some improvement in terms of how they are read by and made interactible with screen readers.

What plans do the Freescout team have for improving the accessibility of this app for those who use screen readers and other assistive technologies?

I am a Web developer experienced in PHP and the Laravel framework (versions 7 and 8 though, not version 5) as well as Web accessibility standards like ARIA. I would be happy to help contribute to this effort, especially since I already know, based on my usage of Freescout as a blind individual, what elements should be made more accessible and how their accessibility can be improved, without sacrificing their functionality or visual appearance. If you would like me to assist in this endeavor please let me know how I can get started.

Thank you!

@freescout-helpdesk
Copy link
Contributor

You can create a simple custom module (Improved Accessibility, for example) and we will add it to https://github.com/freescout-helpdesk/freescout/wiki/Community-Modules. When activated the module will adjust the CSS of the FreeScout. You can create a GitHub repo for the module, so that other can also contribute.

Here is the info on developing modules: https://github.com/freescout-helpdesk/freescout/wiki/Modules-Development

@freescout-helpdesk freescout-helpdesk added the help wanted Extra attention is needed label Apr 10, 2021
@neosonic2
Copy link
Author

Thanks for your reply. However, the accessibility changes/improvements that are needed would require modifying the HTML of the core Freescout application, i.e. to add or improve ARIA roles and other attributes. Could this be done by creating a custom module as you suggest? I'm not going to be changing anything visually so I probably wouldn't be editing any CSS; I would mostly just be making HTML changes.

@freescout-helpdesk
Copy link
Contributor

Yes. Just use Actions and Filters.

@neosonic2
Copy link
Author

After some further investigation, it looks like a lot of the accessibility changes I need to make can be done to the HTML within the resources/views folder. For example, there are unlabeled buttons that change the conversation type from e-mail to phone and are located in resources/views/conversations/create.blade.php that could be edited. Once these changes are made, can I create a pull request here to merge my accessibility enhancements into the core project?

@freescout-helpdesk
Copy link
Contributor

Yes.

@fulldecent
Copy link
Contributor

@neosonic2 Could you please provide one example of a thing we can change. Let's start with that and then make a process to fix more

@neosonic2
Copy link
Author

neosonic2 commented Jun 22, 2021 via email

@fulldecent
Copy link
Contributor

@neosonic2 Awesome, thank you.

And are you able to run a copy of FreeScout using a specific git branch in order to evaluate if a PR fixes the problem?

@neosonic2
Copy link
Author

neosonic2 commented Jun 22, 2021 via email

@fulldecent
Copy link
Contributor

Here is a shot to fix just the action buttons.

#1285

The drop down is not as straightforward.

Does this fix the reply/note/delete buttons for you?

@neosonic2
Copy link
Author

neosonic2 commented Jun 24, 2021 via email

@fulldecent
Copy link
Contributor

Currently they do have a title, which I think DOES get picked up. So I just added the role. But only testing can be sure...

@neosonic2
Copy link
Author

neosonic2 commented Jun 25, 2021 via email

@fulldecent
Copy link
Contributor

Nice!

Okay, I learned one part here. If you can help identify all other roles that need to be updated just like me know and I can help hunt them down. Let's do that as one pull request. Maybe that's enough to address this issue and should be the biggest help.

And then as you said, let's do regions separately. Since this may require new text, and localizations, and input from design. We can make new issues for other accessibility issues if needed.

@neosonic2
Copy link
Author

neosonic2 commented Jun 25, 2021 via email

@fulldecent
Copy link
Contributor

Cool. Added more button roles at role="button". I think this should fix it.

In general, I have been using aria-label only when the reader text differs from the literal text in HTML (e.g. for icons and other visual explanation of intent).

@neosonic2
Copy link
Author

neosonic2 commented Jun 26, 2021 via email

@fulldecent
Copy link
Contributor

Got it, cool. OK, so I have added aria-label everywhere that we have a role="button" and a title but do not have the essential text inside that element.

@neosonic2
Copy link
Author

neosonic2 commented Jun 26, 2021 via email

@fulldecent
Copy link
Contributor

Yes, one example is the Reply button. As of yesterday, my branch only added a role="button" but today it also includes the aria-label.

@neosonic2
Copy link
Author

neosonic2 commented Jun 26, 2021 via email

@fulldecent
Copy link
Contributor

Yes. Let me give you a full accounting of the changes here:

  • Reply — added aria-label
  • Note — added aria-label
  • Delete — added aria-label
  • Delete forever — added aria-label
  • Run workflow — added aria-label
  • Follow
  • Unfollow
  • Print
  • Merge
  • Delete
  • Delete forever
  • Account (application page) — added aria-label
  • Search (application page) — added aria-label

@neosonic2
Copy link
Author

neosonic2 commented Jun 26, 2021 via email

@fulldecent
Copy link
Contributor

I took a stab at labeling the dropdowns.

@neosonic2
Copy link
Author

neosonic2 commented Jun 26, 2021 via email

@neosonic2
Copy link
Author

neosonic2 commented Jun 26, 2021 via email

@fulldecent
Copy link
Contributor

Cool. Thank you for showing me how to set these up.

Hopefully somebody else can help with menus and reclassification.

At this moment PR #1285 might be good to merge as an incremental improvement.

@neosonic2
Copy link
Author

neosonic2 commented Jun 26, 2021 via email

@freescout-helpdesk
Copy link
Contributor

Where in the source code is the modal dialog code located? This will save me from having to hunt around for it as I haven’t messed with this part of Freescout yet.

https://github.com/freescout-helpdesk/freescout/blob/dist/public/js/main.js#L389

@philippkraft
Copy link
Contributor

Just changing lines 2115 and 2119 did the trick, as my blind collegue confirmed. I will add a PR later or tomorrow afternoon (Europe time).

philippkraft added a commit to philippkraft/freescout that referenced this issue Dec 8, 2021
Change aria-hidden attribute to aria-modal attribute to make modal dialogs accessible for screen readers (freescout-help-desk#1150 )
@neosonic2
Copy link
Author

neosonic2 commented Dec 8, 2021 via email

@philippkraft
Copy link
Contributor

philippkraft commented Dec 8, 2021

See PR #1577, however I need to create a new one targetting the master branch.

@neosonic2
Copy link
Author

neosonic2 commented Dec 8, 2021 via email

@philippkraft
Copy link
Contributor

It is #1577. Sorry for the typo.

@neosonic2
Copy link
Author

neosonic2 commented Dec 8, 2021 via email

philippkraft added a commit to philippkraft/freescout that referenced this issue Dec 8, 2021
Change aria-hidden attribute to aria-modal attribute to make modal dialogs accessible for screen readers
@philippkraft
Copy link
Contributor

Now I have created #1578 targeting master. @neosonic2, let me no how it is working, so I can mark the PR for review.

@neosonic2
Copy link
Author

neosonic2 commented Dec 8, 2021 via email

@philippkraft
Copy link
Contributor

@xogium, if you are still interested in this issue, it would be great if you can check PR #1578 with orca on linux.

freescout-helpdesk added a commit that referenced this issue Dec 12, 2021
Improve accessibility of modal dialogs (#1150)
@philippkraft
Copy link
Contributor

Our blind colleague is using FreeScout now operationally and handled over 300 tickets. She has only problems at 2 places left:

  1. The style buttons of the summernote editor are not correctly labelled. This is solved in summernote 0.8.10, FreeScout uses 0.8.9. Version 0.8.12 improves on issue Paste and Copy of formatted text can cause strange behaviour #1672

  2. Input boxes, where each keystroke submits a search (kind of combobox), eg. the "To" field while forwarding, do not read the listed options. I guess this one is tough or not resolvable, as even google struggles with this in her screen reader in the google.com landing page.

@neosonic2
Copy link
Author

neosonic2 commented Feb 10, 2022 via email

@freescout-helpdesk
Copy link
Contributor

  1. Input boxes, where each keystroke submits a search (kind of combobox), eg. the "To" field while forwarding, do not read the listed options. I guess this one is tough or not resolvable, as even google struggles with this in her screen reader in the google.com landing page.

Will it help if aria-label will be added to each listed option?

@freescout-helpdesk
Copy link
Contributor

Implemented in master:

  • Add aria-labels to summernote buttons 9884a76
  • Add aria-labels to select2 options a9d4343

@philippkraft
Copy link
Contributor

Sorry, I had no time to test this with my colleague earlier. The summernote buttons do definitely work for here now.

@fulldecent
Copy link
Contributor

Recommending to close issue. We have made good progress here!

Can reopen when we identify a set of new things to fix or some automated tool can fully review the entire product.

@neosonic2
Copy link
Author

neosonic2 commented Oct 12, 2022 via email

@philippkraft
Copy link
Contributor

Even if I am late to the party, I like to thank you for the fast adaptation of our issues - my blind and non-tech colleague is working all day with freescout now and it just works! Wish her other tools would adopt as fast as freescout. If someone else is creating issues concerning accessibility for blind people, do not hesitate to ping me for testing it with her.

philippkraft added a commit to philippkraft/freescout that referenced this issue Sep 8, 2023
Screen readers do not find the thread-options dropdown, because correct aria markup is missing. Added role, aria-haspopup, and aria-expanded attributes to the dropdown toggle caret
freescout-helpdesk added a commit that referenced this issue Sep 23, 2023
Improve accessibility - addendum to issue #1150
@freescout-helpdesk
Copy link
Contributor

#3829 (comment)

@freescout-help
Copy link
Collaborator

FYI: #4412

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants