Accessibility
Last updated: 9/30/2026
Shelf Life is a small, independently-run project, not one with a dedicated accessibility team — this page is an honest status update, not a formal conformance claim. If something here doesn't work for you, the feedback form reaches a real person and gets read.
What's in place today
- A skip-to-content link for keyboard users, jumping past the navbar on every page.
- Toasts, trophy-earned popups, and long-running progress (CSV/Steam import, achievement sync) are announced to screen readers as they happen, not just visible to sighted use.
- Every form field has a real, properly associated label — not just visually adjacent text.
- Cover art, avatars, and other meaningful images have real alt text; purely decorative images are marked as such so screen readers skip them.
- Icon-only buttons (remove, like, rename, delete, and similar) have specific labels describing the actual action, not a generic "close" or "remove."
- Keyboard focus is always visible — every place a browser's default focus outline was suppressed was audited, and the one real gap found has a visible replacement now.
- The star rating supports arrow keys to adjust a rating half a star at a time, in addition to clicking or tabbing to Enter/Space.
- Deleting an item shows an Undo toast that pauses its countdown while you're hovering or focused on it, instead of a fixed window that can run out while you're still reading it.
- Motion respects your system's "reduce motion" setting — animations and hover transitions shorten to effectively nothing if you have that turned on.
- A WCAG AA contrast pass across muted text and every badge/pill color combination, in both light and dark themes.
- Ownership badges, podium medals, and trophy tiers all render their status as literal text, not color alone.
- A verified tab order across the dashboard grid, leaderboard, and search results (fixed one real mismatch found on the leaderboard podium along the way).
- A manual text-size control (Text, top right) — three steps (Normal/Large/Larger) that scale the whole page, not just body text, since iOS's system-level "Larger Text" doesn't reach web content inside the wrapped app.
- Pinch-to-zoom is never disabled.
Known gaps
Still open, tracked in the project's own roadmap:
- No text-based "view as a list" alternative to the shelf mosaic yet.
- No fully clean, non-skipping heading hierarchy and landmark region (
nav/main/aside) pass site-wide.
Something not working for you?
Reach out at taylorbobbysaunders@outlook.com or through the feedback form — a specific report (what you were trying to do, what assistive technology you were using, what happened instead) is genuinely useful and will get looked at.