enricoros / big-AGI

Generative AI suite powered by state-of-the-art models and providing advanced AI/AGI functions. It features AI personas, AGI functions, multi-model chats, text-to-image, voice, response streaming, code highlighting and execution, PDF import, presets for developers, much more. Deploy on-prem or in the cloud.
https://big-agi.com
MIT License
5.33k stars 1.2k forks source link

Accessibility: HTML semantic not consistent, hard for screenreader users #358

Closed fcnjd closed 8 months ago

fcnjd commented 8 months ago

Hello, at first, thank you for all your work in this project. It is very appreciated! Since I am blind I use a screenreader. However, sadly the HTML semantics are not always consistant, so there are some unlabelled buttons and unstructured parts. I'll try to sum it up what I found so far. I'm sorry for not providing a PR since I'm experienced in frontend development, however this project is based on React, which mixes up HTML and Typescript in single files - for me as user of a Braille display, this makes it harder to get familiar with the code, as longer files have to be searched through.

So now what I found:

Device and browser: Windows 10, Chrome browser, use both Jaws and NVDA screenreaders

enricoros commented 8 months ago

Thanks for finding and communicating the issues. Apologies for a technology stack does not put accessiblity first. On my side, I'm using a UI library that handles accessibility on a per-component basis, as otherwise it would be harder to implement.

A couple of follow-ups:

Please follow this bug to see updates, and let me know if there is progress.

fcnjd commented 8 months ago

Thank you for your answer, it's nice to see that you're following the issue. I'll try to answer the given questions:

enricoros commented 8 months ago

Hi @fcnjd I started modifying the markup of the application. Now has a nav/header/main/aside.

enricoros commented 8 months ago

Hi @fcnjd, I performed structural changes to the HTML, all live on the main branch. This includes most issues you mentioned, and involved restructuring the markup, adding aria-labels and lots of learning.

Are you able to try out the changes and give your advice on what is missing and how to prioritize? I want to proceed from the top priority to the lower. Thank you.

enricoros commented 8 months ago

All the changes applied. Please open a new issue with specific recommendations on what to do next. Delivering this today as part of 1.12.0.

fcnjd commented 8 months ago

Thank you very much for doing the changes so quickly, it is very appreciated. I tested it, and the interface truely is much better to navigate and use now.

enricoros commented 8 months ago

Thank you very much for doing the changes so quickly, it is very appreciated. I tested it, and the interface truely is much better to navigate and use now.

I am glad to hear we could make a difference, thanks for prioritizing our work.