Accessibility
Navigate the documentation with the keyboard, skip link, search shortcuts, visible focus, reduced motion, and no-JavaScript fallback.
- Audience
- moderator · senior reviewer · team lead · server admin · public appellant
- Availability
- free
- Maturity
- stable
Last reviewed
On this page
Keyboard navigation and search
- Tab
- Move through the skip link, navigation, search, article controls, and links.
- Enter
- Activate a focused link, button, search result, or native disclosure.
- CtrlK
- Focus documentation search.
- /
- Focus documentation search when you are not typing in a field.
- Arrow UpArrow Down
- Move through open search results.
- Escape
- Close search or mobile navigation and restore focus where supported.
The first keyboard focus target is a skip link that becomes visible and moves focus to the main content. The active guide is identified in navigation, and focus indicators should remain visible.
Motion, layout, and fallback behavior
- Reduced-motion preferences disable documentation and mobile-sheet animations.
- Tables scroll inside their own container instead of widening the page.
- Figures include useful alternative text, captions, and explicit dimensions.
- Core article navigation remains available through native disclosures when JavaScript is disabled.
- Search and the enhanced mobile sheet are optional progressive enhancements.
Use accessible product navigation patterns
| Keys | Action | Notes |
|---|---|---|
| Tab / Shift+Tab | Move through links, controls, dialogs, tables, and navigation. | Visible focus should remain present. |
| Enter / Space | Activate focused buttons, links, checkboxes, and disclosures. | Read confirmation text before activating writes. |
| Escape | Close supported dialogs/sheets/search and return focus. | Do not rely on browser Back during an active confirmation. |
| Arrow keys | Navigate supported menus, tabs, choices, or search results. | Behavior depends on the component. |
| Ctrl+K or / | Focus documentation search where supported. | Slash does not focus search while typing in a field. |
- Use page headings and breadcrumbs to confirm server/page/record context.
- Scroll wide tables inside their own region instead of zooming out until text is unreadable.
- Use reduced-motion preference when animation causes difficulty.
- Do not rely on color alone; read labels, icons, status text, and table headings.
- Use Discord’s and browser’s supported zoom/text settings while checking that dialogs remain usable.
Make moderation handoffs accessible
| Practice | Example |
|---|---|
| Use descriptive reasons | Describe the behavior and context, not only an emoji or color label. |
| Name links/records clearly | “Case #104 — repeated harassment review,” not “click here.” |
| Add meaningful alt text | Describe the moderation-relevant content of an authorized screenshot without unnecessary personal detail. |
| Do not encode state by color alone | Write “Failed — voice cleanup pending” in addition to a red badge. |
| Provide text alternatives | Summarize the conclusion of a chart and link source records. |
| Preserve structure | Use headings, short paragraphs, tables, and numbered steps in staff guidance. |
Report an accessibility barrier
Identify the exact surface
Record docs URL or selected-server page/dialog and control label.
Check: The barrier can be located.
Describe the interaction
State keyboard, screen reader, zoom, reduced-motion, contrast, focus, or layout issue.
Check: Expected and actual behavior are clear.
Include environment
Browser, device, OS, assistive technology/version where relevant.
Check: Maintainers can reproduce the conditions.
Minimize data
Use a safe fixture or redact server/member content.
Check: The report contains no private moderation data.
Use the published contact
Send one focused report with severity and blocked task.
Check: The issue reaches the responsible team.