Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi all,
I made a few accessibility developments for Chatbox, I corrected some problems.
I am a blind software developer. I hope not to break something about visuality, but I think some of them will have side effects.
If there is a problem with visuality (CSS, etc.), please tell me the points I need to correct. Owners can also directly edit Branch.
My specialty is not Javascript or Typescript (i am backend developer); Working on it was the Great Challenge for me. Practices that I do not comply with, etc. If so, please warn me again.
I also hope you will to apply the relevant changes for the Closed-Source side. It is a great software and it is very hard to use for blind users.
It would be great to use it comfortably.
Description
This PR focuses on enhancing the accessibility of the chatbox by adding ARIA labels, roles and other accessibility-related attributes to improve the experience for users relying on screen readers and other assistive technologies.
Key Changes
Sidebar Accessibility
aria-label
toIconButton
components for "New Chat," "My Copilots," "Settings," and "About" to provide clear descriptions for screen readers.Header Accessibility
role="main"
andaria-label
to the header to indicate the main content area and provide context about the current session.InputBox Accessibility
role="region"
andaria-label
to the input area for better screen reader navigation.ariaLabel
andariaHidden
attributes to buttons for clearer interaction descriptions.Markdown Component Accessibility
ContentCopyIcon
with abutton
element for the copy functionality, adding anaria-label
for better accessibility.Message Component Accessibility
role="button"
to the expand/collapse toggle for better screen reader interaction.senderName
function to provide clear sender identification for screen readers with rendering header.MiniButton
Component AccessibilityariaLabel
andariaHidden
props to improve button descriptions and visibility for assistive technologies.Toolbar Accessibility
aria-label
for the "More Menu" button to be more descriptive.Why These Changes Matter
These updates ensure that the application is more inclusive and usable for all users, including those who rely on assistive technologies. By adding proper ARIA labels, roles and other attributes, we make the interface more navigable and understandable for everyone.
Testing
Additional Notes
Relevant developments should also be done for Closed-Source.
If the heading in the message list badly affects the design, please consider hiding from Screen Readers (CSS
sr-only
) instead of removing it.It is very difficult to wander between the current design and messages.
Although some "Aria" studies have been done, they were not rendered to HTML (eg buttons in the input box component), I fixed them.
Since accessibility is not just a labeling, I tried to sem the page. I hope this will not be a problem. If there is a problem, I would like you to think about the idea of
sr-only
.Finally, since I am blind, please send your visual revives by sharing the relevant CSS Snippets. It is not possible to write CSS for me.
Thanks for this great project.
Screenshots
:(
Contributor Agreement
By submitting this Pull Request, I confirm that I have read and agree to the following terms:
Please check the box below to confirm:
[x] I have read and agree with the above statement.