# @ngrok/mantle — Full Documentation > Concatenated markdown for every page on https://mantle.ngrok.com. Each section is preceded by its canonical docs URL. JSX preview blocks (``) are dropped; code fences are preserved verbatim. Docs index: https://mantle.ngrok.com/llms.txt Component manifest: https://mantle.ngrok.com/api/components.json Hooks manifest: https://mantle.ngrok.com/api/hooks.json Utilities manifest: https://mantle.ngrok.com/api/utils.json --- --- title: Accessibility description: How mantle approaches accessibility, the keyboard and ARIA contracts each component honors, and how to build accessible UIs on top of it. --- # Accessibility Mantle is built so the accessible thing and the easy thing are the same thing. Components render real semantic HTML, lean on battle-tested primitives ([Radix](https://www.radix-ui.com), [Ariakit](https://ariakit.org), [Headless UI](https://headlessui.com)) for complex interaction patterns, and ship with the keyboard, focus, and ARIA behavior already wired up. This page collects the cross-cutting guidance that doesn't fit on any single component page. ## Principles - **Semantic HTML first.** A [`Button`](/components/button) is a `