You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG] Position/Size/Opacity/Weight preset buttons don't expose selected state to assistive tech #1769
Bug description
Several button groups that function as toggle/selection controls (visually highlighting the active choice) don't set aria-pressed, so screen reader users have no way to know which option is currently selected.
Steps to reproduce
Open the Image Overlay panel, upload an overlay image
Inspect the Position grid (src/components/ImageOverlay.tsx:144), Size row (:167, :178, :189), and Opacity row (:207, :218, :229)
Also check the Font Weight buttons in src/components/TextControls.tsx:196-215
None of these buttons have aria-pressed, despite visually indicating an active state via background/border color
Expected behavior
Each button in these groups should set aria-pressed={isActive} so assistive tech announces the current selection.
Actual behavior
No aria-pressed attribute anywhere in these four button groups — a screen reader user has no way to know which position/size/opacity/weight is currently active.
Browser and OS info
Any — this is a screen-reader-observable issue, reproducible via axe DevTools or VoiceOver/NVDA on any platform.
Note: related to but distinct from #33 (audio toggle button focus state) — that issue is about a single specific button's visual focus ring; this one is about four separate button groups lacking the ARIA attribute entirely.
The accessibility fix for #1769 is implemented and pushed to my fork. I've included a short demonstration of the updated preset controls, keyboard interaction, and selected-state accessibility attributes.
Activity
github-actions commentedon Sep 15, 2026
👋 Thanks for opening an issue, @magic-peach!
Our maintainers will review this shortly 🚀
Before you start working
For GSSoC'26 contributors
If you're contributing under GirlScript Summer of Code 2026, please mention it in your comment when requesting assignment:
Architecture notes
Reframe is a static Next.js app with
output: "export". Key points:headers()innext.config.tswon't work — usevercel.jsoninsteadnot-found.tsxrequirespublic/404.html+vercel.jsonroutes configHappy contributing! ⭐ Star the repo if you find it useful!
github-actions commentedon Sep 15, 2026
Claude encountered an error —— View job
I'll analyze this and get back to you.
AFLAHAFI commentedon Oct 9, 2026
/assign
github-actions commentedon Oct 9, 2026
Hey @AFLAHAFI, this issue has been assigned to you! 🎉 Please make progress within 5 days or it will be automatically unassigned due to inactivity.
AFLAHAFI commentedon Oct 10, 2026
The accessibility fix for #1769 is implemented and pushed to my fork. I've included a short demonstration of the updated preset controls, keyboard interaction, and selected-state accessibility attributes.
Demo recording:
Reframe-1769-Demo.mp4
github-actions commentedon Oct 12, 2026
Hey @AFLAHAFI, just a friendly reminder that this issue has had no activity for 2 days. Please leave an update or let us know if you need help! ⏰
github-actions commentedon Oct 17, 2026
Hey @AFLAHAFI, final warning!⚠️ This issue has had no activity for 4 days and will be automatically unassigned in 24 hours if there is no update.
github-actions commentedon Oct 22, 2026
This issue has been unassigned from @AFLAHAFI due to 5 days of inactivity and is open for anyone to pick up — comment
/assignto claim it!