Storefront — Allowed
This gauge covers Chapter 19: customer-facing ecommerce layout patterns after Admin UI, Tables, Forms, Grid, and Flexbox.
Learning goal
Compose storefront surfaces — store chrome, product grids, filter catalogs, product detail buy boxes, cart and checkout summaries, account hubs, and invoices — while keeping native controls and accessible names.
Inherited tools
Everything allowed through ../admin-ui/allowed.md remains available, including
forms from Chapter 12 and tables and lists from Chapter 13. Layout tools from
Flexbox, Grid, Responsive, Positioning, Variables, and Pseudo-classes may be
used as needed for store chrome.
New presentation patterns
- Store shell: top navigation, simplified category panel, site footer
- Product cards in responsive grids (image, title, price, rating text, badges)
- Filter catalog: aside with fieldsets beside a product grid
- Product detail: gallery, buy box, static tab chrome, specification tables
- Cart line-item table with a sticky order summary
- Checkout compose: address form, delivery radio cards, payment fields, summary
- Account hub: profile metrics, tab chrome, orders table
- Wishlist tables, favourite-store cards, print-friendly invoice tables
Learning rules
- Keep one visible
mainfor the primary storefront content. - Product cards may use card elevation because they are the unit of browsing interaction. Do not wrap the entire page in nested decorative cards.
- Filter groups use
fieldsetandlegend. Keep visible labels on every control; placeholders are examples, not names. - Use real
tablemarkup for carts, wishlists, specs, and invoices. Do not use tables for page layout. - Sticky order summaries must remain keyboard-reachable in source order.
- Static tab chrome may show one panel. Changing tabs with script belongs to the JavaScript workbook.
- Delivery and payment choices are radio groups or native selects with visible labels and helper text.
- Prefer CSS variables for surface, border, muted text, price, and badge fills.
- Status and stock badges use text as well as colour.
Not allowed
- JavaScript for filters, cart totals, tabs, or checkout steps
- Third-party widgets (Choices, Flatpickr, rich-text editors, List.js). Learn interactive tables in the JavaScript workbook Phase 9
- Custom controls that replace native inputs, selects, textareas, or buttons
- Essential instructions shown only in placeholders
- Positive
tabindexvalues except the inherited table scroll wrapper pattern from Chapter 13 (tabindex="0"on a labelled overflow region) - Inline styles
- Any HTML or CSS not inherited or listed for presentation above
Pages
01-store-shell.html— top nav, category panel, footer02-product-card-grid.html— sectioned product card grids03-filter-catalog.html— filter aside plus product grid04-product-detail.html— gallery, buy box, tabs, specs tables05-cart-summary.html— cart table and sticky summary06-checkout-compose.html— shipping, delivery, payment, summary07-account-hub.html— profile metrics, tabs, orders table08-lists-invoice.html— wishlist, store cards, invoice
Rules to lean on
Rules 2, 10, 34–38, 54–59, 72–80, 99–110, 111–122, 135–144, 175–195, and storefront rules added for Chapter 19.