About this set
A weekly availability grid where people tick the hours they are free: seven days across, six one-hour slots down from 09:00, a key for available and busy, and a Save availability button. Use it for interview scheduling, team meeting polls, tutor or clinic availability and any form that collects a weekly pattern. The grid is a table with weekday column headers and time row headers, and every cell holds a real checkbox, so the whole thing submits with a form as name and value pairs. Each checkbox has a full name such as Monday, 09:00. The checkbox itself is visually hidden and the box after it shows the state: a violet fill with a white tick when available, a grey box with an outline when busy, so the state is clear without colour. The outline on the empty boxes reaches 3:1 against the card. At 375 pixels the seven columns still fit without scrolling. The Bootstrap version uses .btn-check with a .btn label for every slot, and the Tailwind version uses peer-checked utilities and draws the tick with after: utilities. The Save button has no handler; connect it to your form.
What’s included
- Table of real checkboxes that submits with a form
- Names such as "Monday, 09:00" on every slot
- Tick mark as well as colour for the available state
- Empty slot outline at 3:1 contrast
- Fits 375px screens without horizontal scrolling
Accessibility
The grid is a table with a caption, weekday column headers and time row headers, and every checkbox has an aria-label with the day and hour. Tab moves through the slots and Space toggles them. Focus draws a 2px violet outline around the visible box, and the background transition is removed under prefers-reduced-motion.
Customise it
Change --av-accent, --av-off, --av-ring and --av-muted on .avail in plain CSS and Bootstrap, or the --color-av-* theme colours in Tailwind. Slot height is the 26px on the box.




















