etherpad-lite/doc/accessibility.md
John McLear 01d0b08a4e
docs: migrate useful wiki content into the manual (#7990) (#7994)
* docs: migrate useful wiki content into the VitePress manual (#7990)

The GitHub wiki is being retired; documentation should ship with the
software. This migrates the still-accurate, non-duplicate wiki pages into
the published VitePress site (doc/**/*.md + the sidebar in
doc/.vitepress/config.mts) so they are versioned, searchable and portable:

- deployment.md: reverse-proxy configs (Nginx/Apache/Caddy/Traefik/
  HAProxy) with the WebSocket-upgrade rules, subdirectory hosting via
  X-Proxy-Path, native HTTPS via the ssl block, a systemd unit, and the
  Istio manifest (with the Redis-adapter multi-replica caveat).
- accessibility.md: editor keyboard shortcuts (verified against
  ace2_inner.ts / broadcast_slider.ts / pad_editbar.ts), toolbar
  navigation, NVDA notes.
- faq.md: install methods, URL-path reference, listing/deleting pads
  (API-first), backup/restore, and history pruning.
- development.md: source-tree tour, the pad<->format conversion pipeline,
  the internal DB API, and the Fontello toolbar-icon workflow.
- database.md: the key/value schema plus connecting MySQL/PostgreSQL/Redis
  backends and a pgloader MySQL->PostgreSQL migration (database docs were
  previously absent from the VitePress site).

Every page was checked against the current source before inclusion:
corrected the apt instructions to the live signed repo (stable/main,
signed-by key), dropped the unpublished snap, fixed the Redis dbSettings
(flat host/port/password or url, not the obsolete client_options),
dropped charset from the PostgreSQL example, and removed a phantom
getEtherpad API reference. The VitePress site builds cleanly
(pnpm run docs:build) with the dead-link checker enabled.

Closes #7990

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs: add verified hands-on changeset/atext walkthrough (#7990)

Migrate the practical Changeset-library tutorial from the wiki into
changeset_library.md, rewritten against the current API: unpack(),
deserializeOps() (replacing the deprecated opIterator) and
new AttributePool() (replacing the removed AttributePoolFactory). Every
example output was produced by running the code against the current
Changeset.ts / AttributePool.ts, not copied from the wiki. Also fixes a
stale ether/etherpad-lite source link.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 09:52:33 +01:00

3.3 KiB

Accessibility

Etherpad aims to be usable by everyone, including people who rely on a keyboard, a screen reader, or other assistive technology. The editor follows common conventions so that selecting, formatting, and navigating text works the way you would expect in other applications, and the toolbar can be reached and operated without a mouse.

If you find a feature that is not accessible, please let us know by opening an issue so it can be improved.

Keyboard shortcuts

The following shortcuts are built into the editor. On macOS use the Command (Cmd) key wherever Ctrl is listed.

::: tip Most shortcuts can be individually enabled or disabled through the padShortcutEnabled settings, so a deployment may have customised which of these are active. :::

Editor

Action Shortcut
Bold Ctrl + B
Italic Ctrl + I
Underline Ctrl + U
Strikethrough Ctrl + 5
Ordered (numbered) list Ctrl + Shift + N or Ctrl + Shift + 1
Unordered (bulleted) list Ctrl + Shift + L
Indent line or selection Tab
Outdent line or selection Shift + Tab
Undo Ctrl + Z
Redo Ctrl + Y or Ctrl + Shift + Z
Save a named revision Ctrl + S
Duplicate the current line(s) Ctrl + Shift + D
Delete the current line(s) Ctrl + Shift + K
Clear authorship colors on the pad or selection Ctrl + Shift + C
Show the authors of the current line Ctrl + Shift + 2
Focus the toolbar (see below) Alt + F9
Focus the chat input Alt + C

Text selection, cut (Ctrl + X), copy (Ctrl + C), paste (Ctrl + V), and the arrow keys behave as they do in any standard text editor.

Timeslider

The timeslider (revision history) provides its own shortcuts:

Action Shortcut
Play / pause history playback Space
Step back one revision Left Arrow
Step forward one revision Right Arrow
Jump back to the previous starred revision Shift + Left Arrow
Jump forward to the next starred revision Shift + Right Arrow

Toolbar navigation

The toolbar holds the formatting controls (bold, italic, lists, and so on) and can be reached and operated entirely from the keyboard:

  • Press Alt + F9 from the editor to move focus to the first button in the toolbar.
  • Use the Left Arrow and Right Arrow keys to move between buttons. Tab also moves to the next focusable control.
  • Press Enter to activate the focused button.
  • Press Alt + F9 again, or Escape, to return focus to the pad.

Pressing Escape while a toolbar dropdown (such as the settings or color picker) is open closes that dropdown first.

Screen readers

Etherpad provides as much screen reader support as possible. Support quality varies between platforms and browsers, so the following combinations are recommended:

  • On Windows, Firefox with NVDA currently gives the best experience.

To reduce verbose feedback while typing collaboratively in NVDA, open the keyboard settings (NVDA + Ctrl + K) and turn off Speak typed characters and Speak typed words.

Support in other screen readers and browsers (for example Orca on Linux, or Chrome) is more limited. Contributions to improve coverage on these platforms are very welcome.