unicode-color-accessibility

v2026.09.24

This skill should be used when the user asks about Unicode rendering, wcwidth, grapheme clusters, emoji, combining marks, East Asian width, BiDi text, box drawing, Nerd Fonts, color themes, truecolor, 256-color fallback, NO_COLOR, contrast, accessibility, screen-reader behavior, keyboard access, reduced motion, or non-TUI fallbacks. PROACTIVELY activate for: Unicode width bugs, misaligned tables, emoji layout, ANSI-aware string measurement, color accessibility, screen-reader friendly CLI design, plain output mode, ASCII fallback, and terminal theme support. Provides: text measurement rules, color/fallback policy, accessibility checklist, and failure-mode fixes.

GitHub
安装命令
npx skhub add josiahsiegel/unicode-color-accessibility
Markdown
SKILL.md

Unicode, Color, Accessibility, and Non-TUI Fallbacks

Use this skill when terminal output must be visually correct, readable, inclusive, and robust across fonts, locales, themes, and assistive technologies.

Text correctness rules

  • Display width is not byte length, code point count, or user-perceived character count.
  • Cursor movement and deletion should operate on grapheme clusters.
  • Layout should measure printable text after stripping ANSI control sequences.
  • Double-width characters, combining marks, emoji sequences, variation selectors, and zero-width joiners must be tested.
  • Treat ambiguous East Asian width as narrow by default unless the target environment explicitly differs.

Visual design rules

  • Use semantic roles: error, warning, success, info, muted, selected, focused, disabled.
  • Do not encode meaning by color alone; pair color with text, shape, icon, or position.
  • Provide ASCII fallback for box drawing, braille charts, block elements, emoji, and private-use icons.
  • Avoid assuming Nerd Fonts or patched fonts.
  • Support light and dark backgrounds, 16-color, 256-color, truecolor, and no-color modes.

Color preferences

Respect user and environment preferences:

  • NO_COLOR disables non-essential color.
  • CLICOLOR, CLICOLOR_FORCE, and FORCE_COLOR may force color depending on ecosystem conventions.
  • TERM=dumb, non-TTY output, and CI usually imply plain output unless overridden.
  • Provide explicit flags such as --color=auto|always|never, --plain, and --ascii.

Accessibility requirements

  • All functionality must be keyboard-operable.
  • Focus indicators must be visible without relying on color alone.
  • Avoid flashing more than three times per second.
  • Allow spinner, animation, and live-region suppression for reduced motion, logs, and CI.
  • Provide screen-reader friendly alternatives: plain prompts, line-oriented commands, --json, --plain, or documented stdin/stdout workflows.
  • Use meaningful labels, stable ordering, and visible status messages.

Failure modes

SymptomLikely causeFix
Misaligned tablesbyte length or ANSI counted as visible widthuse ANSI-aware wcwidth/grapheme measurement
Cursor splits emojimovement by code pointmove by grapheme cluster
Borders look brokenfont or width mismatchprovide ASCII mode and test common fonts
Error only shown in redcolor-only meaningadd text/icon/label and contrast check
Screen reader unusablefull-screen repaint gridprovide non-TUI mode and line-oriented flows

Reference files

  • references/text-measurement.md - Unicode width, graphemes, emoji, BiDi, and ANSI measurement.
  • references/accessibility-fallbacks.md - Color policy, screen-reader alternatives, and inclusive UX checklist.
发现
标签

此技能尚未发布标签。

版本
最新版本元数据

版本

v2026.09.24

发布时间

2026年9月24日

分类

未分类

许可证

MIT

源路径

plugins/tui-master/skills/unicode-color-accessibility

默认分支

main

最新提交

5a1b112

Tree SHA

376c8e0