Website policy

Accessibility Statement

Applies to the Buttercup’s Baking Society website only.
Last updated: 1 August 2026  ·  Effective date: 1 August 2026

Our aim. This site is built to meet WCAG 2.2 Level AA. That is the target it was designed and checked against, not a certified conformance claim. It has not been audited by an independent accessibility specialist or tested with assistive technology by disabled users, and both of those would be needed before claiming conformance.

What has been built in

The following were implemented deliberately and verified in a browser on the site as it stands:

FeatureHow it works here
Skip linkA "Skip to content" link is the first focusable item on every page and becomes visible when focused.
Semantic structureReal landmarks (header, nav, main, footer), one h1 per page, and a heading order that descends without skipping levels.
Keyboard operationEvery interactive element (links, the menu button, the FAQ, all form fields and the submit button) is reachable and operable by keyboard alone.
Visible focusA 3px focus ring with offset is applied via :focus-visible and is never removed.
Mobile menuThe toggle exposes aria-expanded and aria-controls. Escape closes the menu and returns focus to the button, and choosing a link closes it. While closed, the menu is both display:none and inert, so its links cannot be reached by Tab.
FAQBuilt from native <details>/<summary> elements, so it is announced and operated correctly without any custom scripting.
Colour contrastEvery text and UI colour pair was measured against its actual rendered background. The lowest result on the site is 4.86:1 (muted body text on cream); primary buttons are 5.45:1 white on lilac, and main body text is 10:1. All meet or exceed the 4.5:1 AA threshold for normal text.
Colour is not the only cueRequired fields are marked with a word as well as a colour, and form errors appear as text, not just a red border.
ImagesInformative images carry descriptive alt text; purely decorative images use alt="" and icons are marked aria-hidden. All images declare width and height so the page does not shift as they load.
FormsEvery field has a real <label>. Hints and error messages are linked with aria-describedby, invalid fields set aria-invalid, and the status message is in an aria-live region so it is announced.
Allergen noticeThe first time you engage with the order form, a notice appears about the shared home kitchen and has to be acknowledged. It is a labelled role="alertdialog" with aria-modal, focus moves into it, Tab is kept inside it, and Escape or "Not now" backs out and returns focus to where you were. Backing out does not count as acknowledging, so the notice returns. Nothing is stored, so a reload asks again. The same warning is in the FAQ for anyone browsing without JavaScript.
Chat helperThe “Sprig” helper is a real <button> and <form>, operable by keyboard. The panel is a labelled role="dialog", Escape closes it and returns focus to the launcher, and replies are announced through an aria-live log. While a reply is being generated an animated indicator appears, which is stilled under reduced-motion settings. If the AI service is slow or unavailable, Sprig falls back to a fixed set of answers rather than failing silently. It is a purely optional extra: everything it says also appears in the FAQ and Order sections.
Reduced motionThe scroll-reveal effect and smooth scrolling are switched off entirely when the operating system requests reduced motion.
Without JavaScriptAll content, all navigation links, the FAQ and the phone number remain fully available. Navigation only collapses into a menu button once JavaScript has loaded successfully.
Zoom and reflowThe layout is fluid and was checked at 375px and 1280px with no horizontal scrolling at either width.
Sticky headerSection anchors use scroll-margin-top so a heading is never hidden behind the fixed header when jumped to.

Known limitations

Stated plainly, because a statement that lists only strengths isn’t much use:

Compatibility

The site is built with standard HTML, CSS and a small amount of JavaScript, and is intended to work in current versions of Chrome, Edge, Firefox and Safari on desktop and mobile. It does not require JavaScript to read or navigate.

Tell us if something doesn’t work

If any part of this site is difficult to use, please say so. It will be treated as a fault worth fixing, and the bakery will help you place your order another way in the meantime.

Formal approach

About this document. This statement was written from an audit of what this specific site actually implements, and every claim above corresponds to something present in the code. It is not legal advice. If the business is subject to a specific accessibility obligation, have this reviewed, and resolve every TODO:REPLACE above, before publishing it.