mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-07-18 00:57:55 +00:00
* 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>
91 lines
3.3 KiB
Markdown
91 lines
3.3 KiB
Markdown
# 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](https://www.nvaccess.org/) 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.
|