Accessibility statement
Our commitment
SousChef should be usable by as many people as possible, including people who use screen readers, keyboard-only navigation, screen magnification or voice control — including while their hands are busy in the kitchen. We aim to meet WCAG 2.2 Level AA across the recipe library, the Recipe Maker, the cooking view and these policy pages.
Conformance status
Partially conformant with WCAG 2.2 Level AA. “Partially conformant” means that some parts of the content do not fully conform with the standard. The site has been self-assessed rather than independently audited, and the known gaps are listed below.
What is in place
-
Semantic HTML: landmark regions (
header,nav,main,aside,footer), a singleh1per page and headings in order. -
A “Skip to content” link as the first tab stop, and a
mainregion that receives focus after you follow it. - Visible 3 px focus outlines on every interactive element, shown for keyboard users.
-
Every input, checkbox and button has a programmatically associated label or accessible
name. Icon-only controls (drawer toggle, remove buttons, step reordering) carry
aria-label. - Status messages (“Recipe added”, “Saved”, “Timer complete”) are announced through a polite live region.
-
The current section is marked with
aria-current="page"in both the desktop section list and the mobile drawer. -
The drawer button exposes
aria-expandedandaria-controls; the drawer can be closed with Escape or by tapping the backdrop. - The active cooking step is marked with the text badge “Current step”, so it does not rely on the highlight colour alone.
- Timer completion is signalled three ways: a visual flash, an audible chime, and — if you grant the permission — a system notification. Any one of the three is enough to notice it.
- Light and dark themes follow your operating system setting, with contrast checked against the theme colours.
-
prefers-reduced-motionis respected: transitions are disabled, and the completion flash is not shown. - Layout reflows to a single column on narrow screens and stays usable when text is zoomed to 200%.
- No interaction requires dragging: uploads work through file pickers or drag-and-drop (whichever you prefer), and the Recipe Maker exposes every reorder operation as a button.
- Nothing relies on colour alone: pinned states, errors, active steps and status messages all carry text as well.
Known limitations
-
The recipe library and cooking view need JavaScript. These policy pages
work without it, but uploading a
.recipefile, opening the Recipe Maker and cooking a recipe all require JavaScript. The recipe format itself is an archive of open files, so a recipe can be inspected or re-created without the site. -
Animated media in recipes autoplay. GIFs animate and videos in step cards
autoplay on loop; they are muted by default and cannot be paused from the cooking view in
the current version. This falls short of WCAG 2.2.2 (Pause, Stop, Hide) for content that
moves for more than five seconds. A pause control and automatic reduction under
prefers-reduced-motionare planned. - The active step is not announced automatically. When the current step changes — manually, or because Auto-advance checked a timered step — the new step is highlighted and scrolled into view, but the change is not pushed into a live region. Screen reader users can navigate to it directly; a spoken announcement is a planned improvement.
-
Smooth scrolling does not fully respect
prefers-reduced-motion. The cooking view scrolls the active step to the centre of the viewport using the browser's smooth-scroll behaviour, which is not currently overridden when reduced motion is requested. The recipe remains fully reachable without the scroll. - Timer sound requires a first interaction. Browsers block audio until you interact with the page. SousChef unlocks its audio context on the first tap or click. If you open a recipe and immediately walk away without interacting, the chime will not sound on completion — the visual flash and, if granted, the system notification still fire.
- System notifications are opt-in. Browser notifications require an explicit permission grant. If you decline, timer completion is still signalled by the visual flash and the chime.
-
Recipe media may lack alt text. Images and videos inside a
.recipefile carry their caption as alternative text. Recipes from third parties may have empty captions, in which case the media is announced without a description. We cannot improve captions on files we did not write. - User-uploaded recipes are user content. Recipes you import are displayed with the same markup as recipes you create, but the text, contrast of embedded images, font sizes and language are whatever their author chose. Recipes from other people may not be accessible.
- Destructive actions use the browser's confirm dialog. Deleting a recipe, removing a media file and restarting cooking all confirm through the platform's native modal. This is announced as a dialog by common screen readers, but its wording and behaviour are controlled by the browser, not by SousChef.
-
Cooking progress is stored per-device. Resuming a recipe depends on
localStoragefor that recipe. Clearing site data clears progress; the recipe itself is unaffected.
Feedback
If you hit a barrier, please tell us. We treat accessibility bugs as real bugs. Email rohan@torul.org with the page you were on, what you were trying to do, the assistive technology and browser you use, and what happened. We aim to reply as soon as we can and will fix what we can.
How this statement was prepared
Self-assessment against WCAG 2.2 AA using browser developer tools, keyboard-only navigation and spot checks with screen readers. The site is plain HTML, CSS and JavaScript with no third-party frameworks or embedded widgets. This statement was last reviewed on 23 October 2026 and will be updated when the site changes materially.
Compatibility
The site is built with standard web technology and is intended to work in current versions
of Chrome, Edge, Firefox and Safari on desktop and mobile, together with common screen
readers and magnification tools. Some features (deflate-compressed
.recipe archives, the Web Audio chime) depend on browser APIs that are present
in recent versions only. We have not yet completed testing across the full range of
assistive technology, so combinations we have not tested may behave differently.