Accessibility and keyboard
Deckard is built to be used with a keyboard, a screen reader, high contrast, and zoom. This page says what to expect, and where something works differently from the rest of VS Code.
Screen readers
- The sidebar views Tasks, Outline, and Hubs are native VS Code trees, read as any tree is. The Context and Calendar views and every page (Home, the Task board, search pages, the calendar page, Stats, Help, the Note page) are webviews.
- In a webview with NVDA or JAWS, press Insert+Space (NVDA) or Insert+Z (JAWS) to switch to focus mode when you want Deckard’s own keys, such as the Task board’s; browse mode reads the page as a document. VoiceOver needs no switch.
- What changed is announced through a status region, without moving focus: a card moved on the board, a widget added or removed on Home, and an Undo.
- Focus stays where it was when a page redraws after an index update, and returns to the control that opened a menu or a dialog when it closes.
- The Task board’s columns are lists: entering one says how many cards it holds, and each card where it is, such as 3 of 13.
- Task metadata reads better in Dataview format. A screen reader reads
📅 2026-10-07as “calendar 2026-10-07” and⏫as an arrow;[due:: 2026-10-07]and[priority:: high]read as words. Setdeckard.tasks.metadataFormattodataviewfor new metadata; Deckard reads both formats and keeps each task’s own.
Keyboard
| Where | Keys |
|---|---|
| Anywhere | Ctrl+Shift+Alt+F Find, …+N Add Task, …+D today’s note, …+P Go to… any page (Cmd for Ctrl on macOS) |
| Any right-click menu | Shift+F10, the context-menu key, or Alt+Enter opens it on what has focus; arrows move, Enter chooses, Escape closes |
| Task board | One Tab stop; arrows move between cards and columns; on a card, x done, t/m due today or tomorrow, d a date, f who it is for, 1–5 priority, [ and ] the next column, e edit, Shift+F10 its ⋯ menu, ? every key. See Task board: Keyboard |
| A card’s ⋯ menu | Each item shows its one-key shortcut |
| Deckard’s pages, atop Context | One Tab stop, a toolbar named Deckard pages; Down and Up move through the list, Right and Left through the icons, Home and End to either end, Enter opens. The page in front is read as the current page |
| DECKARD ▾ atop a page | Enter or Space drops the menu of pages; arrows move, Enter goes, Escape closes it and returns to DECKARD |
| ⋯ atop a page | Enter or Space opens it; Tab moves through its rows; Escape closes it and returns to ⋯. On the Task board, the calendar page and a search page, ? or Keyboard shortcuts in it lists the page’s keys |
| Notes Graph | Tab to the graph, arrows select a dot, Enter opens it, Alt+Enter beside the graph, Escape clears |
| Home and Tags tabs | Left and Right switch tabs |
| Ranked tags | Alt+Up and Alt+Down move a tag |
| Find | Enter opens a result, Shift+Enter the other way (page or editor), Cmd/Ctrl+Enter beside |
Every command is in the Command Palette under Deckard:, and each can be given a key in VS Code’s Keyboard Shortcuts.
Seeing the page
- High contrast: in a high contrast VS Code theme, light or dark, every Deckard theme gives way to the editor’s own colors, and glows, grid lines, and shadows go. Windows’ forced colors are followed too.
- Contrast: every text color in every theme meets WCAG AA (4.5:1) against its background; a test checks it on each change.
- Color is never the only signal: an overdue date says overdue, a priority says its level, and red means overdue or high priority and nothing else.
- Zoom: pages reflow with VS Code’s zoom (
window.zoomLevel) and at narrow widths; the calendar page and Help fold to one column. - Focus is its own mark. The focused entry has the focus ring and opens its file / line below it, pushing the next entry down rather than covering it; while you use the keyboard, an entry under a resting pointer stays as it is.
- Motion: with your system’s reduce-motion setting on, pages hold still: no animated transitions or smooth scrolling.
- Zen turns decoration and helper text down on every page, and keeps every count and date; Card details chooses what an entry’s details line writes, every folded part still read aloud; see Themes and Display.
Something that does not work as described here is a bug; please report it.