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.