kodukeelПочати безкоштовноПочати безкоштовно

Заява про доступність

Оновлено 15 жовтня 2026

Цю сторінку перекладено за допомогою ШІ, і носій мови її ще не перевіряв. A machine translated this page, and no native speaker has checked it yet.

Kodukeel створено для тих, хто вчить естонську, а багато хто вчить її тому, що мусить. На цій сторінці сказано, до якого стандарту ми прагнемо, що і як перевірили, де поки не дотягуємо і як нам про це повідомити.

Стандарт

Мета: WCAG 2.2, рівень AA, а через нього EN 301 549, гармонізований європейський стандарт, за яким оцінюють державні органи та їхніх постачальників і який включає WCAG у частині вебвмісту.

Статус відповідності

Частково відповідає WCAG 2.2, рівень AA. «Частково» означає, що більша частина застосунку відповідає стандарту, а частини, названі нижче, ні.

Повної відповідності немає, бо нікому з тих, хто покладається на допоміжні технології, ще не платили за перевірку застосунку. Усе, що нижче, спирається на автоматичні перевірки і на те, що автори застосунку перевіряли власну роботу.

Як це перевірялося

За кожної зміни під час збирання запускаються чотири набори тестів, проти справжнього застосунку в справжньому браузері, а не проти окремого компонента.

  • axe на кожній сторінці. a11y-check.mjs відкриває кожну сторінку застосунку, а не вибірку, і запускає на кожній axe, зокрема правила найкращих практик. Поки винятків два, перевірена робота й відсканована сторінка, бо для кожної спершу треба створити запис; набір перевірки меж нижче створює обидві й вимірює їх, а axe до них поки не доходить. Увесь прохід повторюється в темній темі, бо світла й темна теми є двома палітрами, і колір, що проходить поріг в одній, нічого не каже про іншу. Ще двічі він запускається за ширини 390 пікселів, тобто на телефоні, бо телефон тут отримує іншу розмітку, а не ту саму, тільки вужчу: бічна панель навігації не малюється зовсім, а замість неї з'являється нижня панель зі шторкою. Цю шторку теж відкривають і перевіряють, бо жодна адреса до неї не веде. Рядок тексту з одного символу теж вважається текстом, і так було знайдено галочку з контрастом 2,52 там, де поріг 4,5. Крім axe перевіряється рівно один головний орієнтир і один заголовок на екран, заголовок сторінки, відмінний від заголовка лендингу, і розмітка естонського тексту, щоб екранний диктор не читав його з англійською вимовою.
  • Контраст вимірюється, а не виводиться міркуванням. test-design.mjs читає кольори, які браузер справді намалював, і обчислює співвідношення в обох темах, зокрема стани, у яких сторінка не відкривається сама, наприклад рядок під курсором.
  • Кожен елемент перевіряється на 44px. test-mobile.mjs ганяє застосунок за ширини 360, 390, 430, 768 і 1280 пікселів із сенсорним введенням, єдиною умовою, за якої це правило має сенс, і падає на будь-якому елементі керування, меншому за поріг.
  • Перекомпонування на 320 пікселях. test-mobile.mjs відкриває кожну сторінку шириною 320 пікселів CSS, а це і є збільшення 400% у вікні шириною 1280, і падає на всьому, що намальовано за краєм екрана поза власною областю прокручування, як у таблиці форм.
  • Текст лишається у своїй рамці. test-containment.mjs проходить кожну сторінку за ширини 360, 768 і 1280 в обох темах і перевіряє, чи не обрізано щось, чи не виходить за свою рамку і чи не накладено поверх іншого. Потім перевіряє знову, замінивши кожен рядок тексту нерозривним рядком тієї самої довжини, адже в естонській довгі слова.

Крім того, застосунок зібрано зі справжніх кнопок і посилань із видимою рамкою фокуса. Анімація вимикається для всіх, чия система просить зменшити рух, і ніде не потрібне перетягування. Колір ніколи не є єдиним, що передає відмінність, тож правильна відповідь позначається і словами, і кольором.

Тренувальний раунд на час можна зробити довшим (WCAG 2.2.1, регульований час). «Завдання дня» за замовчуванням триває дві хвилини, а одне налаштування розтягує його аж до десятикратної тривалості, саме ту величину, якої вимагає критерій. Його вибирають до початку раунду в налаштуваннях, і стартовий екран на нього посилається.

Аудит за участю людини з інвалідністю, яка користується допоміжними технологіями, не замовляли. Нікому з користувачів екранного диктора не платили за перевірку, і стороннього аудиту доступності не було. Автоматичні інструменти знаходять, мабуть, третину того, що не так зі сторінкою, і це механічна третина.

Що свідомо не відповідає

Це знайдено читанням коду, а не взято із шаблону, і кожен пункт стосується справжнього екрана.

  • Частини пробного іспиту йдуть за таймером, який ніхто не може змінити (WCAG 2.2.1, регульований час), і коли він спливає, частина закривається. Робота імітує державний іспит на час, а тренування такої роботи без обмеження вимірює вже інше, тому це єдиний таймер, залишений незмінним, але кандидат, якому на справжньому іспиті потрібен додатковий час, не може попросити про нього тут.
  • Раунди аудіювання, диктанту й мінімальних пар потребують слуху (WCAG 1.2.1). Розшифровки до відповіді немає, бо розшифровка і є відповіддю, тож текстова альтернатива знищила б саму вправу. Текст показується одразу після відповіді. Той, хто не може користуватися звуком, може користуватися всіма іншими раундами, і для прогресу жоден із цих трьох не обов'язковий, але три раунди для нього закриті.
  • Мовлення чує машина просто на пристрої: вона повідомляє, які слова дійшли, і ніколи не оцінює, як вони прозвучали. Це новинка, і на голосах самих учнів її ще не вимірювали. Кожен крок раунду усного мовлення можна виконати, друкуючи, тож учень без мікрофона або той, хто не хоче ним користуватися, усе одно має спосіб його пройти.
  • axe проходить дві ширини, а не всі. Він запускається за 1280 і 390, по обидва боки від єдиної точки перелому, де змінюється навігація, тож нижню панель телефона й шторку за нею тепер перевірено. Проміжні ширини, 360, 430 і 768, перевіряються на розмір елементів, переповнення й межі, але не axe. Помилку в розмітці, яка проявляється на одній із них і на жодній із двох перших, знайде людина, а не збирання.
  • Екрани, яким потрібні дані, перевірено гірше. Автоматичний прохід бачить кожну сторінку під час завантаження плюс один стан, до якого учень доходить своїми діями. Список групи з учнями, частина іспиту в процесі й сітки головоломок під час гри доступні, але перевірені гірше за сусідні сторінки.
  • Сполучення з однієї клавіші не можна вимкнути (WCAG 2.1.4, Character Key Shortcuts). У раунді цифра оцінює картку, а B повертає назад. З клавіатури це зручно, але голосове введення може натиснути їх, промовивши одну літеру. Налаштування, щоб їх вимкнути, поки немає.
  • Деякі декоративні літери весь час рухаються (WCAG 2.2.2, Pause, Stop, Hide). Чотири літери на картці з відмінками на головній сторінці рухаються, поки сторінка відкрита. Вони зупиняються, якщо система просить менше руху, а на самій сторінці такого перемикача немає.
  • Слово звучить саме, коли з'являється картка (WCAG 1.4.2, Audio Control). Це вимикається в налаштуваннях, і запис триває одне слово або одне речення, але ніщо не перевіряє, що кожен запис коротший за три секунди.

Якщо обмеження вище спричинили ми, а не вимога самої вправи, воно в списку на виправлення. Таймери тренувань були першими й тепер налаштовуються, а перевірка на телефоні була другою: раніше вона стояла в цьому списку, а тепер виконується під час збирання. Таймер іспиту лишається, з причини, вказаної поруч із ним.

Критерій за критерієм

Кожен критерій WCAG 2.2 рівнів A і AA і те, як із ним справи в застосунку. EN 301 549 приймає їх як свій розділ 9, по одному пункту на критерій. Критерій позначено як підтримуваний, лише якщо його перевіряє тест у збірці, і цей тест названо. Скрізь інде рядок пояснює, чому ні.

КритерійEN 301 549Як справиЧим перевірено або чому ні
1.1.1 Non-text Content (A)9.1.1.1Підтримуєтьсяscripts/a11y-check.mjs
1.2.1 Audio-only and Video-only (Prerecorded) (A)9.1.2.1Підтримується частковоДля раундів аудіювання, диктанту й мінімальних пар потрібен слух, як пояснено вище.
1.2.2 Captions (Prerecorded) (A)9.1.2.2Не застосовуєтьсяУ застосунку немає відео.
1.2.3 Audio Description or Media Alternative (Prerecorded) (A)9.1.2.3Не застосовуєтьсяУ застосунку немає відео.
1.2.4 Captions (Live) (AA)9.1.2.4Не застосовуєтьсяУ застосунку немає відео.
1.2.5 Audio Description (Prerecorded) (AA)9.1.2.5Не застосовуєтьсяУ застосунку немає відео.
1.3.1 Info and Relationships (A)9.1.3.1Підтримуєтьсяscripts/a11y-check.mjs
1.3.2 Meaningful Sequence (A)9.1.3.2Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.3.3 Sensory Characteristics (A)9.1.3.3Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.3.4 Orientation (AA)9.1.3.4Підтримуєтьсяscripts/invariants/no-orientation-lock.ts
1.3.5 Identify Input Purpose (AA)9.1.3.5Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.4.1 Use of Color (A)9.1.4.1Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.4.2 Audio Control (A)9.1.4.2Підтримується частковоСлово звучить саме, коли з'являється картка. Це вимикається в налаштуваннях, і ніщо не перевіряє довжину запису.
1.4.3 Contrast (Minimum) (AA)9.1.4.3Підтримуєтьсяscripts/test-design.mjs
1.4.4 Resize Text (AA)9.1.4.4Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.4.5 Images of Text (AA)9.1.4.5Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.4.10 Reflow (AA)9.1.4.10Підтримуєтьсяscripts/test-mobile.mjs
1.4.11 Non-text Contrast (AA)9.1.4.11Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.4.12 Text Spacing (AA)9.1.4.12Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
1.4.13 Content on Hover or Focus (AA)9.1.4.13Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.1.1 Keyboard (A)9.2.1.1Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.1.2 No Keyboard Trap (A)9.2.1.2Підтримуєтьсяscripts/invariants/dialogs-hold-focus.ts
2.1.4 Character Key Shortcuts (A)9.2.1.4Підтримується частковоДеякі раунди реагують на одну клавішу, наприклад цифру для оцінки чи B, щоб повернутися назад, і їх поки не можна вимкнути.
2.2.1 Timing Adjustable (A)9.2.2.1Підтримується частковоУ пробному іспиті час фіксований, як пояснено вище. Час будь-якого тренувального раунду можна збільшити.
2.2.2 Pause, Stop, Hide (A)9.2.2.2Підтримується частковоДеякі декоративні літери рухаються і зупиняються, лише якщо система просить менше руху.
2.3.1 Three Flashes or Below Threshold (A)9.2.3.1Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.4.1 Bypass Blocks (A)9.2.4.1Підтримуєтьсяscripts/a11y-check.mjs
2.4.2 Page Titled (A)9.2.4.2Підтримуєтьсяscripts/a11y-check.mjs
2.4.3 Focus Order (A)9.2.4.3Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.4.4 Link Purpose (In Context) (A)9.2.4.4Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.4.5 Multiple Ways (AA)9.2.4.5Підтримуєтьсяlib/ux/nav.test.ts
2.4.6 Headings and Labels (AA)9.2.4.6Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.4.7 Focus Visible (AA)9.2.4.7Підтримується частковоВидиму рамку фокуса перевіряють лише в текстових полях.
2.4.11 Focus Not Obscured (Minimum) (AA)Поки не пункт стандартуПідтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.5.1 Pointer Gestures (A)9.2.5.1Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.5.2 Pointer Cancellation (A)9.2.5.2Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.5.3 Label in Name (A)9.2.5.3Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.5.4 Motion Actuation (A)9.2.5.4Не застосовуєтьсяНічим не потрібно керувати, рухаючи чи струшуючи пристрій.
2.5.7 Dragging Movements (AA)Поки не пункт стандартуПідтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
2.5.8 Target Size (Minimum) (AA)Поки не пункт стандартуПідтримуєтьсяscripts/test-mobile.mjs
3.1.1 Language of Page (A)9.3.1.1Підтримуєтьсяscripts/a11y-check.mjs
3.1.2 Language of Parts (AA)9.3.1.2Підтримуєтьсяscripts/a11y-check.mjs
3.2.1 On Focus (A)9.3.2.1Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.2.2 On Input (A)9.3.2.2Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.2.3 Consistent Navigation (AA)9.3.2.3Підтримуєтьсяlib/ux/nav.test.ts
3.2.4 Consistent Identification (AA)9.3.2.4Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.2.6 Consistent Help (A)Поки не пункт стандартуПідтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.3.1 Error Identification (A)9.3.3.1Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.3.2 Labels or Instructions (A)9.3.3.2Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.3.3 Error Suggestion (AA)9.3.3.3Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.3.4 Error Prevention (Legal, Financial, Data) (AA)9.3.3.4Підтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.3.7 Redundant Entry (A)Поки не пункт стандартуПідтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
3.3.8 Accessible Authentication (Minimum) (AA)Поки не пункт стандартуПідтримується частковоУ збірці це поки ніщо не перевіряє, тому ми цього не стверджуємо.
4.1.2 Name, Role, Value (A)9.4.1.2Підтримуєтьсяscripts/a11y-check.mjs
4.1.3 Status Messages (AA)9.4.1.3Підтримуєтьсяscripts/invariants/verdicts-are-announced.ts

Шість із цих критеріїв з'явилися у WCAG 2.2 і поки не стали пунктами EN 301 549 версії 3.2.1, яка приймає WCAG 2.1. Розділ 11 стандарту стосується програм, які не є вебсторінкою, тому до застосунку в браузері він не застосовується.

Коли це підготовлено

Підготовлено 5 вересня 2026 року авторами застосунку на основі описаних вище автоматичних тестів і читання вихідного коду, а таблицю критеріїв додано 15 жовтня 2026 року. Заяву переглядають щоразу, коли екран змінюється настільки, що це зачіпає одне з тверджень. Зовнішньої перевірки не було.

Як повідомити нам про проблему

Напишіть на privacy@upthink.ee. Якщо можете, розкажіть, що ви намагалися зробити, що сталося і чим ви для цього користувалися. Навіть повідомлення «цей екран не працює з моїм екранним диктором» варто надіслати: той, хто його прочитає, зможе піти й подивитися.

Крім того, на кожному екрані застосунку поруч із тим, що пішло не так, є спосіб повідомити про проблему, і ці повідомлення потрапляють до тих самих людей.

Якщо це нічого не дало

Нагляд за доступністю в Естонії здійснює державний орган, відповідальний за Директиву про вебдоступність, а скарга на обробку персональних даних надсилається до Інспекції із захисту даних Естонії (Andmekaitse Inspektsioon), Tatari 39, 10134 Tallinn, Estonia, info@aki.ee. Але спершу все ж напишіть нам. Лист читає жива людина, і виправити зазвичай швидше, ніж поскаржитися.

Див. також «Довіра й безпека» і «Конфіденційність».

Конфіденційність, Умови, Фінансування, Довіра, Для викладачів, Пілотний проєкт (англійською), Доступність, Державний іспит, Допомога, Увійти, Контакти