Code & Dev Compatible: claude

Accessible Dialog Focus Trap

Complexity Level: Expert
Prompt Code Block

Implement a dialog that traps focus, restores it, and closes on Escape. Use the platform element if we can. STACK [REACT] Need: [CONFIRM DELETE | FORM MODAL] Title and description: [WHAT] DELIVER 1) Prefer the native dialog element and show the minimal React wrapper: open via showModal, close, backdrop click only if I said it should cancel. 2) Focus moves to the dialog (the title or the first field — say which and why). On close, focus returns to the button that opened it, including if that button rerenders. 3) Tab and shift-tab stay inside. Escape closes, unless a destructive confirm should require an explicit button — say which pattern this dialog uses. 4) aria-labelledby and aria-describedby wired to real ids. The page behind is inert. 5) A test with testing-library: open, tab cycle, escape, focus returns. A note on reduced motion for the transition. 6) What not to do: a div with role=dialog if the native element works, a positive action as the only auto-focused control on a destructive confirm. Keep the implementation small. If a library already does this in the project, say how to use it instead of rewriting it, once I name the library: [LIBRARY OR NONE].

🌟 Example Output / Preview

### Generated Component Preview: ```typescript // Fully validated modern structure import { z } from 'zod'; export const RequestSchema = z.object({ id: z.string().uuid(), createdAt: z.date().default(() => new Date()), data: z.record(z.string(), z.any()) }); export type ValidatedRequest = z.infer<typeof RequestSchema>; ```

Prompt Metadata

DifficultyExpert
Compatibilityclaude

Primary Use Cases:

  • •Legacy code modernization & technical refactoring
  • •Full-stack layout generation & component structuring
  • •CI/CD workflow automation & unit/E2E testing suites

Associated Tags:

#a11y #react #dialog #typescript

💡 Pro Tips & Advice

1. Use bracketed items: Be sure to fill out all [PLACEHOLDER] elements with specific details before sending the prompt to the AI model.

2. Adjust temperature: For creative tasks, set AI temperature higher (e.g., 0.8), or lower (e.g., 0.2) for strict coding/technical tasks.

🔗 Related AI Prompts

Code & Dev
★ Featured

Full SaaS Landing Page Build Spec (SEO + Conversion)

You are a Staff Product Designer + Frontend Engineer + SEO strategist. Build a complete, production-ready marketing landing page f...

Compatible:claudeDiff:Advanced
#landing-page #saas #seo #nextjs #tailwind
Code & Dev
★ Featured 🔥 Trending

SaaS Analytics Dashboard Full Build Spec

You are a Principal Product Designer + Frontend Lead. Design and specify a complete [LIGHT | DARK] analytics dashboard for [PRODUC...

Compatible:claudeDiff:Intermediate
#dashboard #saas #ui #tailwind #seo
Code & Dev

SaaS Admin Panel Dashboard Build Spec

Design a full internal Admin Dashboard for [PRODUCT_NAME] used by [ADMIN_ROLE: support | ops | super-admin]. --- 🎯 CONTEXT Adm...

Compatible:claudeDiff:Intermediate
#admin #dashboard #saas #crud #tailwind