UbiCity Accessibility Commitment Version: 1.0 Standard: WCAG 2.1 Level AA (where applicable)
UbiCity is a CLI-first tool for learning capture. While traditional web accessibility (WCAG) focuses on visual interfaces, we ensure our command-line tools are accessible to all users, including those using screen readers, alternative input devices, and assistive technologies.
Users can perceive the information being presented
-
✅ Plain text output (screen reader compatible)
-
✅ Unicode symbols with text fallbacks (
✅→ “Success”) -
✅ Structured output (headings, lists)
-
✅ No color-only information (use symbols + color)
Users can operate the interface
-
✅ Keyboard-only operation (no mouse required)
-
✅ Tab navigation in interactive prompts
-
✅ Escape key exits prompts
-
✅ Arrow keys for history/autocomplete
Users can understand the information and operation
-
✅ Simple, clear language (no jargon)
-
✅ Internationalization (i18n) support (
src/i18n/) -
✅ Error messages are actionable
-
✅ Help text for all commands
Tested With: - NVDA (Windows) - JAWS (Windows) - Orca (Linux) - VoiceOver (macOS)
Best Practices:
# Good: Screen reader announces "Success: Experience captured"
echo "✅ Success: Experience captured"
# Bad: Screen reader announces "Green check. Experience captured"
echo -e "\e[32m✅ Experience captured\e[0m" # Color-only info-
✅ Commands are short and memorable
-
✅ Autocomplete reduces typing
-
✅ Tab completion for file paths
For visualizations:
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}# Set language via environment variable
export UBICITY_LANG=es
ubicity capture
# Or inline
UBICITY_LANG=es ubicity captureFor Contributors: 1. All user-facing strings in src/i18n/*.json 2.
Use placeholders for dynamic content: {learner_name} 3. Respect
cultural context (dates, names, formality) 4. Test with native speakers
Example:
{
"capture": {
"success": "✅ Experience captured successfully!"
}
}-
✅ Headings hierarchy (H1 → H2 → H3, no skipping)
-
✅ Link text is descriptive (“Read getting started guide” not “Click here”)
-
✅ Alt text for images/diagrams
-
✅ Code blocks have syntax labels
-
✅ Tables have header rows
-
❏ Run CLI with screen reader (NVDA/Orca/VoiceOver)
-
❏ Navigate using keyboard only (no mouse)
-
❏ Test with terminal color disabled (
NO_COLOR=1) -
❏ Resize terminal to 80x24 (minimum)
-
❏ Test with slow network (if network features added)
-
❏ Test in high contrast mode
-
❏ Verify error messages are actionable
Accessibility Benefit: Less data = simpler interfaces
-
✅ WHO/WHERE/WHAT protocol keeps prompts short
-
✅ No multi-page forms
-
✅ Fast capture (< 1 minute)
-
❌ No GUI - CLI only (but this is by design: “tools not platforms”)
-
❌ English-first - Translations incomplete
-
❌ Emoji in output - May not render in all terminals
How to Report: 1. GitHub Issues:
https://github.com/Hyperpolymath/ubicity/issues 2. Label:
accessibility 3. Describe: Assistive tech used, expected behavior,
actual behavior
Response Time: - Critical (blocks usage): 48 hours - High (degrades experience): 7 days - Medium (improvement): Next release
UbiCity Accessibility Promise: > Learning happens for everyone, everywhere. Our tools must be accessible to all learners, regardless of ability. We commit to maintaining and improving accessibility with every release.
Contact: accessibility@ubicity.example.org
Document Owner: Maintainers Last Review: 2025-11-22 Next Review: 2026-02-22 (quarterly)