ADR-017 — Accessibilité citoyen de première classe, fondée sur le modèle d’objet C-ABI
L’accessibilité est un fondement d’Air. Toute UI Air est accessible par construction grâce au modèle d’objet C-ABI (ADR-002) qui porte les propriétés accessibility universelles (label, role, value, state, hierarchy, traits) pour toute AirObject. Les développeurs d’apps Air n’ont pas à coder spécifiquement l’accessibilité : le framework la génère depuis la structure déclarative de l’app.
Technologies d’assistance comme services AirCom. Capability air.accessibility.observer (sensible, confirmation utilisateur au premier usage). Pont bidirectionnel AT-SPI ↔ AirCom en couche 2 pour compatibilité avec écosystème existant (Orca notamment) pendant la phase d’incubation.
Catégories couvertes :
- Malvoyance/cécité : lecteur d’écran natif
air-screenreader(planifié post-phase 4, alternative initiale Orca via pont AT-SPI), agrandisseur intégréair-wm, thèmes contraste, taille de texte ajustable, filtres daltonisme. - Handicap moteur : navigation clavier intégrale obligatoire, sticky/slow/bounce keys via evdev, commande vocale
air-voice-control(tier-2, basée Whisper.cpp ou équivalent local), switch control (tier-3). - Handicap auditif : signaux visuels pour alertes audio, sous-titres système (tier-2).
- Handicap cognitif : mode interface simplifiée, polices dyslexie-friendly, réduction du mouvement.
Moteur TTS : piper (qualité moderne, open source) en priorité, espeak-ng en fallback.
Engagement public WCAG 2.2 AA pour toutes les UIs Air. Tests automatisés CI, tests manuels avec AT lors des releases, audit externe avant Air OS 1.0 grand public, documentation publique de l’état d’accessibilité.
Licence du document : MPL 2.0 Statut : Document fondateur. Édition directe autorisée en phase de design pré-ouverture publique ; immuable après ouverture publique (toute évolution via RFC, cf. ADR-015).