From 0914e237e204d5bc9583992571b649568f8ab0e6 Mon Sep 17 00:00:00 2001 From: Alex Martin Date: Tue, 19 May 2026 16:39:58 -0700 Subject: [PATCH] docs(skill): add Drawer and Dialog accessibility rules to frontend skill DrawerTitle/DialogTitle are required inside DrawerContent/DialogContent to avoid console errors and satisfy screen reader requirements. Co-Authored-By: Claude Sonnet 4.6 --- .agents/skills/frontend/SKILL.md | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/.agents/skills/frontend/SKILL.md b/.agents/skills/frontend/SKILL.md index 0c59ef6301..1d8b6ee440 100644 --- a/.agents/skills/frontend/SKILL.md +++ b/.agents/skills/frontend/SKILL.md @@ -286,3 +286,45 @@ Grep `stage="preview"` and `stage="beta"` and delete every match: - Inline `` usages — delete the element and unwrap the `flex items-center gap-2` div There's no other cleanup. The component itself stays in place for the next pre-GA feature. + +### Drawer Component Usage + +`DrawerContent` requires `DrawerTitle` (and optionally `DrawerDescription`) inside it. Omitting them generates a console error and breaks screen reader accessibility. `DrawerHeader` and `DrawerFooter` are optional layout wrappers. + +```tsx + + Open + + Session Details + Viewing trace for this chat. + {/* content */} + + +``` + +If the title is visually redundant, hide it from sighted users while keeping it for screen readers: + +```tsx +Details +``` + +### Dialog Component Usage + +`DialogContent` requires `DialogTitle` (and optionally `DialogDescription`) inside it. Omitting them generates a console error and breaks screen reader accessibility. `DialogHeader` and `DialogFooter` are optional layout wrappers. + +```tsx + + Open + + Confirm Action + This cannot be undone. + {/* content */} + + +``` + +If the title is visually redundant, hide it from sighted users while keeping it for screen readers: + +```tsx +Details +```