dsh-accessibility
Screen-reader guidance and in-app accessibility diagnostics for DeepSeek Harness
- Stars
- 0
- Language
- TypeScript
- Created
- Aug 25, 2026
- Updated
- Aug 26, 2026
Introduction
@oh-my-dsh/dsh-accessibility
English | 简体中文
An optional DeepSeek Harness companion that adds a Settings page with screen-reader operating guidance and semantic diagnostics. It intentionally uses DSH slots and does not patch or observe hashed DOM classes.
Compatibility
The 0.1.0-beta.4 line targets @deepseek-ai/dsh@0.1.1-rc.2 plus the accessibility core patch tracked in upstream Discussion #4546. The companion reports missing core semantics; it cannot safely replace focus traps, composite-widget keyboard behavior, landmarks, or live-region policy from outside the owning components.
Install from npm
dsh plugin --profile web add @oh-my-dsh/dsh-accessibility@0.1.0-beta.4
dsh --profile web
The npm companion does not patch the owning DSH components. Until the changes are included in an official DSH release, use the organization-pinned DSH accessibility build for the complete keyboard and screen-reader behavior:
git clone https://github.com/omdsh-dev/deepseek-harness.git
cd deepseek-harness
git checkout dsh-v0.1.1-rc.2-a11y.3
pnpm install
pnpm run build:official
pnpm dsh plugin --profile web add @oh-my-dsh/dsh-accessibility@0.1.0-beta.4
pnpm dsh web
Install from a checkout
pnpm install
pnpm run build
dsh plugin --profile web add file:.
dsh --profile web
Open Settings → Accessibility to run the current-page diagnostic and read the VoiceOver/NVDA/JAWS quick guide.
Diagnostics and scope
The page audit now runs 14 structural checks covering landmarks, control names, image alternatives, ARIA references, composer and log names, menus, listboxes, trees, radio groups, tab lists, dialogs, and adjustable separators. It recognizes the single-tab-stop/active-descendant patterns used by the patched DSH components and ignores static menu separators.
A passing result means that the mounted DOM satisfies these deterministic contracts. It is evidence, not a claim of complete conformance: it cannot prove spoken output, browser/accessibility-API mappings, focus timing, or Windows screen-reader behavior. Those still require the manual VoiceOver/NVDA/JAWS scenarios in the in-app guide.
See ACCESSIBILITY.md for the assistive-technology matrix, manual regression protocol, and support boundary.
Checks
pnpm run typecheck
pnpm test
pnpm run build
pnpm pack --pack-destination ./artifacts
Model Experience
This package adds no model-visible tools, prompts, messages, or context. It changes only the local Web UI settings surface.
Security and privacy
Diagnostics inspect the current document's semantic attributes in memory. They do not read conversation text, make network requests, or persist results.