wiringbits / scala-webapp-template

A pragmatic skeleton to build web applications in Scala/Scala.js, including user registration, login, admin portal, and, deployments
https://template-demo.wiringbits.net/
MIT License
172 stars 40 forks source link

Accessibility audit #433

Open AlexITC opened 10 months ago

AlexITC commented 10 months ago

It would be super helpful to get an idea on which parts of the webapp need to be improved in order to make the application accessible for visually impaired people.

The end goal would be to eventually make accessibility a standard feature for our template.

ayushkoli772 commented 8 months ago

Hello @AlexITC,

I'm very interested in contributing to this issue. I have previous experience working on projects involving visually impaired users, where I gained an understanding of the varying levels and types of impairment. While I'm relatively new to the Scala environment, I'm very eager to learn and contribute to this issue. I'd appreciate it if this issue could be assigned to me.

ayushkoli772 commented 8 months ago

Hey @AlexITC,

I have thoroughly reviewed the web app to check its accessibility for visually impaired users. While the web app is largely compatible with commonly used screen readers, here's a summary of my findings and suggested improvements:

  1. Proper HTML Structure and Labeling: The current HTML structure supports screen readers, ensuring proper navigation and comprehension. No issues found here.

  2. Responsive Website: Although the web app is responsive, I noticed an issue regarding the toggle menu button's readability on smaller screens. This button is not easily identifiable by screen readers, potentially obstructing navigation for visually impaired users on mobile devices.

  3. Audio Feedback Options: To improve the completion process, introducing audio feedback options during the completion process can significantly benefit users reliant on screen readers.

  4. Contrast and Font Size for Warnings: Increasing contrast colors and font sizes specifically for warning messages would enhance readability and ensure crucial information is more perceivable for visually impaired users.

  5. Keyboard Navigation: Verified that the web app supports proper keyboard navigation. No issues found here.

  6. Screen Reader Compatibility: While the web app is generally compatible with screen readers, I observed a need for enhanced alternative text for images. Providing descriptive alternative text would significantly improve the understanding of visual content for users relying on screen readers.

These suggestions aim to further enhance the accessibility of our web app for visually impaired users. I welcome any feedback or additional considerations regarding these proposed improvements. Thank you

AlexITC commented 8 months ago

Thanks for sharing, are you interested interesting in working on any of these improvements?

ayushkoli772 commented 8 months ago

Yes, I'm interested in working on these improvements but I lack Scala.js knowledge so first I'd like to take time to familiarize myself with Scala before diving into addressing these issues. I'll keep you updated on my progress and I will start contributing as soon as i feel sufficiently confident in Scala.js.

Thank you for your understanding and patience.

ayushkoli772 commented 8 months ago

Hey @AlexITC, I gave few days to learn Scala and now Im moving forward to get started with installing webapp locally and saw the video but it was for Ubuntu and currently i use windows 10 OS. Is there any other resource i can refer to or there will be no difference even if i follow same step for windows?

Thank you for your time :)

AlexITC commented 8 months ago

The steps likely work if you use WSL, otherwise, the stuff to install is more-or-less the same but the approach can be different.

Feel free to raise any issues you find.

Thanks.

ayushkoli772 commented 8 months ago

Got it. I will update you about my progress.

Thank you for your time :)

ayushkoli772 commented 7 months ago

Hello @AlexITC, I was not able to work on this because of my Internal examinations.

But now I'm free, can you please tell me if i want to work just on the front end i should follow until which step in this guide or video tutorial or should i follow all the tutorial? Thank you :)

AlexITC commented 7 months ago

Just follow the "Compile-time dependencies" section, then, run this:

ayushkoli772 commented 7 months ago

Hello @AlexITC. I'm facing a issue, while on the last step of compile time dependencies im not able to install Node. When i searched for reason, it is because Node is not supported by WSL1 so i tried to switch to WSL2 but it is not happening as well.

Now im thinking of using Virtual Machine. Will there be any issues if i use Ubuntu with VM?

AlexITC commented 7 months ago

Unfortunately, I can't help you with the Windows setup, given that you don't need postgres, have you tried setting everything up with Windows powershell?

Related to using a VM, that should not be an issue.

ayushkoli772 commented 7 months ago

Unfortunately, I can't help you with the Windows setup, given that you don't need postgres, have you tried setting everything up with Windows powershell?

Related to using a VM, that should not be an issue.

I will first try with windows if it doesn't works then try VM. If any of these doesn't works then last option is to dual boot.

Just wanted to know if Scala org is going to participate in GSoC 2024 and is there any possibility of Scala webapp being one of the potential projects. Nonetheless i want to effectively contribute to Scala and be part of this.

I will update you about my progress :)

AlexITC commented 7 months ago

Scala-center is participating on GSoC 2024, I was invited to be a mentor but I had to reject due to my limited time.

If you are interested, feel free to propose a project related to this template and I'll evaluate whether I can make the time to be a mentor or provide someone else from Wiringbits.

Good luck.

ayushkoli772 commented 7 months ago

Scala-center is participating on GSoC 2024, I was invited to be a mentor but I had to reject due to my limited time.

If you are interested, feel free to propose a project related to this template and I'll evaluate whether I can make the time to be a mentor or provide someone else from Wiringbits.

Good luck.

Got it. Thank you for your time :)

ayushkoli772 commented 7 months ago

Hi @AlexITC , after installing ubuntu with VirtualBox i have installed the project locally and have started with understanding codebase.

For changes that i mentioned above, should i make a separate issue and make a todo list to keep record of changes implemented?

Thank you :)

AlexITC commented 7 months ago

Great.

Feel free to create a new issue summarizing your findings.

ayushkoli772 commented 6 months ago

Hello @AlexITC, I'm sincerely sorry for the delay in getting back to you about this issue. I encountered an unexpected issue with my development environment a few days ago.

While troubleshooting an Out of Memory problem in VirtualBox, I made some changes to my Ubuntu VM instance. Unfortunately, these changes led to data loss, and I didn't have a recent backup, so I had to rebuild the entire environment from scratch.

I want to assure you that I'm actively working on the project now. I'll create a new issue and follow up with a PR as soon as I have something concrete to contribute.

Thanks for your understanding and patience :)