Skip to content

Wave N — structural editing, i18n & accessibility-output correctness (SoA research)

Date: 2026-07-02 · Tier: design/ — public engineering research · Author: Mohsen Seyedkazemi Ardebili Companion: fed adr-v2-115 through adr-v2-124. See the waves index.

A snapshot of the field on the date above, kept as the research record behind the ADRs it fed. Feature status should be checked against yazses features and the linked ADRs, not this note.

Method: background SoA scout (2024-2026 CHI/UIST/ASSETS, Interspeech/ICASSP, arXiv cs.HC/cs.CL/eess.AS; Cursorless; ITRANS/Pinyin; liblouis; Unicode UTS-39) against the full feature-exclusion list at the time. Every candidate is on-device/offline, off by default, with a pure dependency-light testable core. All ten anchors were checked at the time.

Diversified across code/terminal structural editing, internationalization (transliteration, diacritics, Braille), accessibility modalities (anomia, eyes-free, blind/screen-reader, cognitive load), security/correctness, and output structuring.

The ten features (ranked most→least compelling)

  1. HatSelect (hatselect) — every visible token gets a spoken label; "select alpha to charlie", "delete bravo" edit structurally without cursor motions. Core: assign_labels, resolve_reference, plan_structural_edit. Anchor: Cursorless (Talon) hats — the SoA for hands-free structured code editing. → adr-v2-115.
  2. Transliteration (translit) — dictate a native language in Latin letters ("salam, chetori?") → native script. Whisper mis-transcribes low-resource native audio but nails romanized phonetics. Core: transliterate, detect_scheme. Anchor: ITRANS, Pinyin, Google Input Tools. → adr-v2-116.
  3. BrailleOut (brailleout) — emit Grade-2 Unicode Braille / .brf so a Braille-display or DeafBlind user gets dictation directly in Braille. Core: to_braille. Anchor: liblouis, UEB. → adr-v2-117.
  4. WordFind (wordfind) — an offline reverse-dictionary: "the word for when water turns to gas" → a ranked shortlist. Core: rank_candidates. Anchor: WordNet reverse-dictionary; TREC 2025 Tip-of-the-Tongue; anomia/AAC research. → adr-v2-118.
  5. Echo (echo) — "play that back" replays your own captured audio for a text span (not TTS), catching homophone/ASR errors eyes-free. Core: build_span_index, resolve_playback_target. Anchor: Vertanen eyes-free ASR-error detection (arXiv 2410.20564). → adr-v2-119.
  6. SRPace (srpace) — pace injection to a screen reader's reading rate, clause-chunked, instead of a burst. Core: plan_injection_schedule. Anchor: screen-reader comprehensibility research. → adr-v2-120.
  7. LoadGuard (loadguard) — rising cognitive-load speech signals widen confirmations and defer risky actions. Core: estimate_load, guard_policy. Anchor: cognitive-load-from-speech (arXiv 2606.12971); ADHD accessibility research. → adr-v2-121.
  8. Diacritize (diacritize) — restore diacritics on dictated words ("cafe"→"café", "naive"→"naïve"). Core: restore_diacritics. Anchor: NAACL 2024 diacritics restoration. → adr-v2-122.
  9. SafeGlyph (safeglyph) — flag homoglyph/confusable hazards in dictated identifiers/ URLs/secrets (Cyrillic "а" vs Latin "a"). Core: scan_confusables, normalize_ascii. Anchor: Unicode UTS-39. → adr-v2-123.
  10. Outline (outline) — "new item / indent / promote / collapse" drives a live outline tree → Markdown/OPML. Core: apply_outline_op, render. Anchor: OPML/outliner verbs; ADHD idea-capture accessibility research. → adr-v2-124.

Diversity

Code/terminal (1), i18n (2, 8, +3 scripts), accessibility modalities (3 Braille, 4 anomia, ⅚ eyes-free & blind, 7 cognitive), security/correctness (9), output structuring (10). Every core is a pure deterministic function/state-machine; heavy backends (liblouis, embedding rerankers, CNN diacritizers) are optional lazy extras.

Citations here have not been re-verified against research/verify_refs.py.