Repository navigation
feat(frontend): Implement WCAG 2.1 AA keyboard focus management and screen reader labels in Asset Converter Modal - #1676
Merged
Conversation
Implement comprehensive keyboard navigation and focus management: - Add Escape key handler to close modal (documented in footer) - Implement focus trap to keep focus within modal dialog - Add role="dialog" and aria-modal for proper modal semantics - Enhance all interactive elements with focus-visible indicators - Add proper focus ring styles (2px mint ring with offset) - Convert container div to proper dialog with ARIA attributes Focus management ensures keyboard-only users can navigate and exit the modal without mouse interaction, meeting WCAG 2.1 AA standards.
Enhance accessibility with detailed ARIA labels and descriptions: - Add aria-labelledby and aria-describedby for dialog - Add sr-only description explaining converter purpose - Add detailed aria-labels for all form inputs with requirements - Add hidden help text (sr-only) for each input field - Add aria-required="true" to required inputs - Add aria-live regions for dynamic content (error, result, loading) - Add aria-busy state for convert button during loading - Add descriptive labels for all numeric values in results - Add aria-hidden="true" to decorative icons - Convert path arrows to readable "then" for screen readers Screen reader enhancements ensure users with visual impairments receive complete context about form requirements, conversion results, and dynamic state changes, meeting WCAG 2.1 AA Level A compliance.
|
@onejasonn Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
@Quang-231 is attempting to deploy a commit to the Emmanuel's projects Team on Vercel. A member of the Team first needs to authorize it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Implements comprehensive WCAG 2.1 AA accessibility enhancements for the Asset Converter Modal, focusing on keyboard navigation, focus management, and screen reader support.
Changes
1. Keyboard Focus Management ✅
Modal Dialog Semantics:
role="dialog"andaria-modal="true"to containeraria-labelledbyandaria-describedbyfor proper dialog labeling<h2>withidfor referenceKeyboard Navigation:
focusinevent listener to keep focus within modalFocus Indicators:
2. Screen Reader Labels & ARIA ✅
Form Inputs - Enhanced Labels:
Hidden Help Text (sr-only):
aria-describedbyARIA Attributes:
aria-required="true"on all required inputsaria-busyon convert button during loadingaria-disabledon convert button when wallet not connectedaria-hidden="true"on decorative iconsDialog Description:
3. Dynamic Content Announcements ✅
Live Regions:
aria-live="assertive"for immediate announcementaria-live="polite"+role="region"for non-intrusive updatesaria-live="polite"on "Querying..." textDetailed Result Labels:
Button Context:
WCAG 2.1 AA Compliance
This implementation addresses the following success criteria:
Testing
Keyboard Navigation:
Screen Reader (VoiceOver/NVDA):
Visual Testing:
Implementation Details
Focus Management:
Escape Key Handler:
Live Region Example:
Files Changed
frontend/src/components/AssetConverter.tsx- All accessibility enhancementsBreaking Changes
None - purely additive accessibility improvements.
Screenshots
(Add screenshots showing focus states, screen reader output if needed)
Closes #1661
Closes #1528
Closes #1529
Closes #1530