Skip to content

feat: improve accessibility (A11y) for interactive UI elements#430

Merged
KaranUnique merged 1 commit intoKaranUnique:mainfrom
Adithyakp86:main
Mar 13, 2026
Merged

feat: improve accessibility (A11y) for interactive UI elements#430
KaranUnique merged 1 commit intoKaranUnique:mainfrom
Adithyakp86:main

Conversation

@Adithyakp86
Copy link
Copy Markdown

#424

[ENHANCEMENT] Improve Accessibility (A11y) for Interactive UI Elements


📌 Description

This PR improves the accessibility of interactive UI elements across the CryptoHub project. It addresses issues with screen reader noise, missing interactive labels, and improperly linked form elements to comply with modern A11y best practices.

What problem does it solve?

  • Decorative icons were being announced unnecessarily by screen readers.
  • Several icon-only buttons lacked descriptive labels for non-visual users.
  • The FAQ section lacked state indicators (expanded/collapsed) for screen readers.
  • Form inputs in the Contact section were not properly linked to their labels.

What changes were made?

  • Decorative Elements: Added aria-hidden="true" to SVGs and icons in Navbar.jsx, Blog.jsx, BlogDetail.jsx, and Pricing.jsx.
  • Icon-only Buttons: Added aria-label="Close" to the contributors' modal close button and updated the billing toggle with a dynamic state-aware label.
  • Interactive State Management: Implemented aria-expanded and aria-controls for the FAQ section toggle buttons.
  • Form Accessibility: Linked <label> tags to <input> and <textarea> elements using htmlFor and id in ContactUs.jsx.

🔗 Related Issue

Closes # [ENHANCEMENT] Improve accessibility (A11y) for interactive UI elements


🛠 Type of Change

  • 🐛 Bug fix (non-breaking change fixing an issue)
  • ✨ Enhancement (improves existing functionality)
  • 🚀 New feature (adds new functionality)
  • ♻️ Refactor (code change that neither fixes a bug nor adds a feature)
  • 📝 Documentation update

✅ Checklist

  • Code follows project coding standards
  • Self-review completed
  • No new warnings or errors introduced
  • All interactive elements have descriptive ARIA attributes

🧪 Testing Done

Test cases executed:

  • ✅ Verified aria-hidden="true" on decorative icons in Navbar.jsx and Blog.jsx.
  • ✅ Verified aria-label="Close" on the Contributors modal.
  • ✅ Confirmed aria-expanded updates correctly when toggling FAQ items.
  • ✅ Verified form labels in ContactUs.jsx correctly focus their inputs.

Commands used:

git add .
git commit -m "feat: improve accessibility (A11y) for interactive UI elements"
git push origin main

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 10, 2026

Someone is attempting to deploy a commit to the Karan Manickam's projects Team on Vercel.

A member of the Team first needs to authorize it.

@KaranUnique KaranUnique merged commit b29f69a into KaranUnique:main Mar 13, 2026
7 of 21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants