diff --git a/apps/design-system/content/docs/accessibility.mdx b/apps/design-system/content/docs/accessibility.mdx index a549d1eb7b67c..0d71788abacc9 100644 --- a/apps/design-system/content/docs/accessibility.mdx +++ b/apps/design-system/content/docs/accessibility.mdx @@ -25,14 +25,68 @@ All interactive page elements should be reachable by keyboard. Given the below i Chromium-based browsers and Firefox handle this automatically via the Tab key. Safari, by default, requires the Option key to also be held down. Enabling _Keyboard navigation_ on macOS Settings [removes this requirement](https://mayank.co/blog/safari-focus/#keyboard-navigation) but makes links non-tabbable as a result. -Interactive page elements should also provide visual feedback upon selection via a `focus-visible` state. We use consistent focus styles such as `inset-focus` so users recognize this state instantly. +Interactive page elements should also provide visual feedback upon selection via a `focus-visible` state. We use one shared focus ring so users recognize this state instantly. -[Button](components/button) has all of the above built-in. The same explicit `tabIndex` default is also baked into Checkbox, Switch, Select Trigger, Toggle, Accordion Trigger, Collapsible Trigger, Dropdown Menu Trigger, Popover Trigger, Dialog Trigger, Sheet Trigger, Alert Dialog Trigger, and the Sidebar Menu and action buttons. Bespoke interactive elements however, such as the below interactive [Table Row](components/table#examples), require these props to be added manually: +### Focus ring recipe + +Prefer the shared utilities over inventing local styles: + +| Utility | Use when | +| ------------- | -------------------------------------------------------------------------- | +| `focus-ring` | Buttons, inputs, and most controls (offset **ring**) | +| `focus-inset` | Dense or flush surfaces such as interactive table rows (inset **outline**) | + +```tsx +className = 'focus-ring' +// or +className = 'relative cursor-pointer focus-inset' +``` + +These expand to: + +**`focus-ring`** + +```txt +outline-hidden +focus-visible:ring-2 +focus-visible:ring-ring +focus-visible:ring-offset-2 +focus-visible:ring-offset-background +``` + +**`focus-inset`** + +Uses `outline` (not `ring`) so it paints reliably on interactive `
- Browse and install integrations from a new layout with improved filtering and search. +
+ Install Dashboard Integrations in a single click, with improved filtering and search to help + you find the one you need.
+ ++ Taking longer than expected? Try clearing your browser cookies and reloading the page. + {IS_PLATFORM && ( + <> + {' '} + If the problem persists, contact{' '} + + support@supabase.com + + . + > + )} +
+