# Audit: containment ## Summary The containment group is the most accurate part of the library I have measured: the card variants, the dialog (28dp corner, 24dp padding, 560/280 width, surface-container-high, 32% scrim, headline-small), the divider (1px outline-variant, 16dp inset), the list heights (56/72/88) and leading sizes (24/40/56), the bottom sheet's 32×4 handle / 28dp top corner / 640px cap, and the carousel's ported Compose keylines all match the published numbers or the androidx token files. The failures are concentrated in three places: **accessibility of selection and disabling in lists** (colour-only selection with no `aria-selected`, a `disabled` item whose link is still focusable and activatable), **the bottom-sheet drag handle** (a 32×4px touch target where M3 requires 48dp, achieved by its 22dp padding), and **adaptive breakpoints** (the list-detail pane opens at `xl`/1280 where M3 puts two panes from expanded/840). Beyond those, a handful of measurable deviations: a cascade-layer bug that kills the state layer on segmented list rows, a basic dialog whose headline and action row scroll away, side-sheet actions right-aligned where M3 says left, carousel end padding of 0 where M3 says 16dp, a full-screen carousel that scrolls horizontally where M3's scrolls vertically, and cards with no per-state elevation at all. Collapse, the error pages and the mail theme are clean against M3's foundations and styles; the mail theme reproduces the typescale correctly in px and the error pages use the roles and typescale properly. ## Findings ### C-01 · bottom-sheet · The drag handle is a 32×4px target where M3 requires 48dp - Severity: must-fix - M3 says: "drag handle has an accessible **48dp hit target**" and the specs table gives "Drag handle padding top/bottom | 22dp" (reference-components-a.md § Bottom sheets → Specs; raw `components_bottom-sheets_specs.md`). Confirmed in androidx: `SheetDefaults.kt` line 788, `private val DragHandleVerticalPadding get() = 22.dp`, applied as `modifier.padding(vertical = DragHandleVerticalPadding)` around the 32×4 handle → 4 + 22 + 22 = 48dp. Foundations also require a ≥48×48 touch target for any interactive element. - Library does: `resources/views/components/bottom-sheet.blade.php:60` — the `