Seatloom — Free Assigned Seating UI Kit preview

A keyboard accessible seat picker needs a clear way to enter the seat map, move between available choices, select seats and leave the map. Seatloom is a free event seating interface with a six-by-six seat map, booking history and browser-local availability checks.

Open the Seatloom demo and try the flow without a mouse. This is a frontend prototype: its reservations are fictional browser records, not real tickets, inventory holds or payments.

Use buttons with names that describe the seat

The map uses native buttons for seat choices. A seat needs an accessible name that identifies its position and state. Keep selection, reservation and blocked states distinct in the text or accessible name, rather than relying on a color legend alone. Seatloom updates the selected state while keeping the map available for review.

Inspect the button names in your browser’s accessibility tree when adapting the design. Row labels and a visual aisle help sighted visitors, but they do not replace an individual seat’s name.

Give the map one entry point

Seatloom uses roving tabindex: one navigable seat is in the page’s Tab sequence, while the other seat buttons have tabindex -1. Arrow navigation moves that entry point and focus together. The page’s other controls still use their normal Tab order. This avoids forcing someone to Tab through every seat before reaching the booking form.

Read MDN’s keyboard widget guidance for the focus-management pattern. Keep the focus indicator visible when changing the map’s colors.

Key Seatloom behavior to check
Tab Enter the map at its current roving entry point; continue to the next page control.
Arrow keys Move focus through the map, skipping reserved or blocked choices.
Home / End Move to an available seat at the beginning or end of the current row.
Enter / Space Use the native button action to select or deselect an available seat.

Separate focused, selected and unavailable

Focus is where the next keyboard action will land. Selection is the set of seats the visitor intends to book. A reserved or blocked seat cannot be selected. Check these states independently: move focus away from a selected seat and confirm that its selection remains apparent.

The demo allows up to six selected seats and checks the selection against party size before confirming. Try selecting too few seats, changing party size after selecting, and deselecting a seat. The summary should explain what remains to be done without erasing the visitor’s choices unnecessarily.

Recheck availability at the confirmation boundary

Seatloom rereads local state before confirming a reservation, which helps demonstrate a conflict response when availability changes. To exercise it, open two tabs in the same browser, select the same available seat in both, confirm one, then attempt to confirm the other.

The second tab should respond to the changed local availability. This browser check demonstrates the UI state; it does not provide server-side concurrency control. Real booking needs an authoritative inventory service that reserves seats atomically, expires holds and prevents two buyers from owning the same seat.

Make cancellation part of the example

Confirm a local booking, find it in history and cancel it. The related seats become available again while the history retains the cancelled outcome. Check the availability summary and map after cancellation, then try a new booking.

Before shipping a real booking flow, test with keyboard users and screen readers, and connect names, payment status and inventory changes through your backend. Include error recovery when a hold expires or a reservation request fails. A working keyboard pattern is one part of that complete experience.

For the surrounding event experience, browse event website templates and Gatehouse attendee check-in. Seatloom supplies the seat-selection workflow between discovery and attendance.

Aigars Silkalns

Designed & written by Aigars Silkalns

Aigars Silkalns is a Latvian entrepreneur and web developer who founded Colorlib, a hub for distinctive WordPress themes. Trained in technology and design, he began as a freelancer and launched Colorlib in 2013, earning acclaim for user-friendly, modern, responsive themes. A champion of open source, Silkalns shares insights on web trends and entrepreneurship. His mission is to make web design simple and accessible, empowering people worldwide to build professional sites with ease.

XLinkedInMore about uiCookies →

uiCookies content is free. When you buy through links on our site, we may earn an affiliate commission.