Заява про доступність VIR.GROUP
Наша мета
VIR.GROUP створює соціальну платформу, гаманець, інвестиційні проєкти, преміум-підписки та інші сервіси для всіх, незалежно від можливостей. Ми вважаємо доступність базовою якістю продукту, а не функцією, і працюємо над тим, щоб усі основні сценарії використання були доступні людям зі слабким зором, повною сліпотою, моторними обмеженнями, дислексією, поганим слухом та когнітивними особливостями.
Стандарти, яким ми відповідаємо
- WCAG 2.1, рівень AA — ціль для всіх основних флоу (реєстрація, гаманець, чат, дзвінки, преміум, реклама, реферали).
- EN 301 549 — європейський стандарт доступності цифрових продуктів.
- Material Design Accessibility (Android) та Apple Human Interface Guidelines (iOS) для нативних мобільних поверхонь.
Що вже працює
- Підтримка TalkBack (Android) і VoiceOver (iOS) у всіх 25 фазах ініціативи доступності.
- Налаштування доступності у застосунку: масштаб тексту, режим зменшеної анімації, тактильні відгуки on/off, аудіо-сигнали, довші сповіщення, висока контрастність, рівень озвучення емодзі.
- Локально-усвідомлені описи часу («5 хвилин тому» замість «5хв») для повідомлень, постів і дзвінків.
- Голосові повідомлення мають видимий повзунок з кроком ±5 секунд для людей з моторними обмеженнями.
- Кнопки «Прийняти» та «Відхилити» на екрані вхідного дзвінка збільшені до 80 dp.
- Помилки оплат, недостатнього балансу та помилки дзвінків озвучуються у пріоритетному режимі, а не у snackbar, який автоматично зникає.
- Темний режим відповідає WCAG AA-контрасту (Phase R).
- Глобальний хук масштабу тексту в корені застосунку (Phase Q) — рухомий повзунок у налаштуваннях впливає на весь UI.
- Інфраструктура локалізації для арабської та івриту з RTL-flip (Phase U) готова, переклад UI окремою ініціативою.
Чого ще немає
- Частина авто-згенерованих форм у FlutterFlow ще не має повних semantic-міток. Це не блокує основні флоу, але деякі другорядні екрани читаються менш докладно.
- Повний keyboard-обхід веб-білду триває.
- Високо-контрастна тема (white on black з жовтими акцентами) запланована у Phase R, поки що недоступна користувачам.
- Переклад UI на арабську та іврит — окрема ініціатива; зараз ці локалі лише прапор для перевертання макета.
- ~80 файлів містять жорстко задані розміри шрифтів, що теоретично обмежує крайні рівні масштабування на деяких екранах. Глобальний хук Phase Q покриває це прозоро, але деякі тісні розкладки можуть переповнюватися на масштабі 200 %.
- Авто-транскрипція голосових повідомлень — преміум-функція, вимкнена за замовчуванням. Без неї голосове повідомлення не має текстової альтернативи.
- Аудіо-сигнали як альтернатива TalkBack-озвучуванню заплановані, перемикач у налаштуваннях існує, але звукові файли поки не доставлені у застосунку.
Як повідомити про проблему
Якщо ви натрапили на бар'єр у застосунку, напишіть нам:
- Email: [email protected] — пріоритетна черга, відповідь упродовж 3 робочих днів.
- Telegram: @newsgroupsearch_bot з тегом
#a11y. - GitHub Issue (для розробників): github.com/VladlenVeronov/vir-supabase/issues з міткою
accessibility.
Технічні деталі
Застосунок написано на Flutter; для семантичного дерева ми використовуємо нативний Flutter Semantics API, який мапиться на Android AccessibilityNodeInfo та iOS UIAccessibility. Внутрішня документація: docs/ACCESSIBILITY.md, docs/WCAG-21-AA-CHECKLIST.md, VIR_A11Y_PLAN.md.