Доступність магазину на WooCommerce Ядро підтягнули — ламаються тема, розширення і шлях до оплати
За останній рік у ядро WooCommerce внесли понад сто сорок виправлень доступності: пастки фокуса в модальних вікнах, підписи полів в оформленні замовлення й особистому кабінеті, оголошення про зміну кошика, ролі у вкладок і фільтрів. Розробники чесно пишуть, що це рух до WCAG 2.2 рівня AA, а не заява про повну відповідність. І головне: до конкретного магазину ці поліпшення часто не доходять. Нижче — чому так і що перевіряти у своєму.
Що вже виправили в самому WooCommerce
Якщо магазин на свіжій версії і тема не втручається в шаблони, частину роботи вже зроблено за вас — це варто знати, перш ніж платити за «приведення до стандарту».
- Модальні вікна утримують і повертають фокус, а їхню появу озвучують
- Поля в оформленні замовлення, вході й особистому кабінеті підписані, помилки пов’язані з полями
- Зміна кошика і вибір варіанта товару оголошуються екранному диктору
- У вкладок, акордеонів і фільтрів задані ролі
- У кнопок прибрали неоднозначні та порожні підписи
- Виправлено структуру заголовків у шаблонах товару, оформлення, особистого кабінету й міні-кошика
- Клавіатура у фільтрах товарів, відгуках і міні-кошику — пастки фокуса й порядок переходу
Чому це не доходить до вашого магазину
- 01
Стара версія
Виправлення живуть у нових випусках. Магазин, який не оновлювали рік-два, їх просто не отримав — і перше, що ми перевіряємо, це версія WooCommerce і WordPress.
- 02
Тема тримає свої копії шаблонів
Теми часто кладуть до себе копії шаблонів WooCommerce, щоб змінити верстку. Така копія застигає в тому вигляді, в якому її зробили: поліпшення ядра до неї не доходять. У розділі «Стан» WooCommerce такі шаблони позначені як застарілі — це перше місце, куди ми дивимося.
- 03
Розширення
Свотчі варіантів, фільтри, калькулятори доставки, віджети відгуків і чати малюють свою розмітку. Про доступність ядра вони не знають, і їх треба перевіряти по одному.
- 04
Налаштування і вміст
Описи товарів, назви варіантів, тексти кнопок і зображення з текстом усередині — це ваш контент. Жодне оновлення його не виправить.
Що ламається в магазині найчастіше
- 01
Кнопки «У кошик» у каталозі
На сторінці категорії двадцять однакових кнопок. Екранний диктор перелічує «у кошик, у кошик, у кошик» — який товар він кладе, людина не знає. Лікується додаванням назви товару в доступне ім’я кнопки.
- 02
Вибір варіанта
Колір і розмір часто роблять квадратиками-картинками без імені й без стану «обрано». З клавіатури по них не пройти, а диктор не каже, що саме обрано зараз.
- 03
Поле кількості
Поле зі стрілками «плюс-мінус» зазвичай не підписане, а кнопки збільшення і зменшення не мають імен. У кошику таких полів стільки ж, скільки товарів.
- 04
Фільтри
Повзунок ціни майже завжди недоступний з клавіатури, а результат фільтрації підвантажується мовчки: сторінка оновилася, але диктор про це не сказав.
- 05
Галерея і збільшення
Лупа й слайдер фотографій — часте джерело пасток фокуса. Окрема біда — характеристики, вшиті в зображення: для диктора їх не існує.
- 06
Оформлення замовлення
Найдорожче місце: помилки оплати показуються кольором без тексту, поля адреси підписані підказкою всередині, а крок доставки оновлюється без оголошення. Людина не розуміє, чому замовлення не йде.
Що робимо ми
- 01
Проходимо весь шлях покупки
Не одну сторінку, а сценарій: каталог → картка → кошик → оформлення → лист про замовлення. Лише з клавіатури і з екранним диктором. Більшість знахідок у магазині живе саме між сторінками.
- 02
Розбираємося з темою
Дивимося, які шаблони тема перевизначила і наскільки вони застаріли. Часто правильна відповідь — не лагодити копію, а прибрати її й повернутися до шаблону ядра, де все вже виправлено.
- 03
Решту правимо в дочірній темі
Імена кнопок із назвою товару, підписи полів кількості, стан у свотчів, оголошення про зміну кошика. Правки йдуть у дочірню тему, щоб оновлення їх не стерло.
- 04
Перевіряємо розширення
Кожне окремо. Якщо фільтр або віджет відгуків недоступний і розробник не відповідає — пропонуємо заміну й кажемо, у скільки це обійдеться.
- 05
Готуємо заяву
Пишемо текст заяви про доступність і ставимо окремою сторінкою з посиланням у підвалі. Залишені обмеження перелічуємо в ній чесно.
Чого ми не робимо
- Не ставимо віджет доступності замість роботи над магазином
- Не обіцяємо «повної відповідності»: навіть розробники WooCommerce її не заявляють
- Не чіпаємо приймання платежів без узгодження: будь-яка правка на кроці оплати перевіряється тестовим замовленням
- Не змінюємо дизайн картки й каталогу — працюємо з кодом, а не з макетом
Перевірте свій магазин
Безкоштовна перевірка дивиться одну сторінку, адресу якої ви ввели. Для магазину цього мало: перевірте по черзі головну, сторінку категорії й картку товару — результати зазвичай різні, і найгірше буває саме картка.
Перевірити доступність сайтуЧасті запитання
Нам просто оновити WooCommerce — і все стане добре?
Оновлення закриває частину: у ядрі за останній рік виправили понад сто сорок речей. Але якщо тема тримає свої копії шаблонів, оновлення їх не чіпає, і сторінка товару залишиться колишньою. Починати варто з оновлення, а далі дивитися, що лишилося.
Як зрозуміти, що тема заважає?
У розділі «Стан» WooCommerce є список шаблонів, які тема перевизначила, з позначкою про застарілі. Якщо там десяток файлів — майже напевно поліпшення ядра до вашого магазину не доходять. Це перевіряється за хвилину й до початку робіт.
Чи треба переходити на блоки кошика й оформлення?
Не обов’язково. Блокові кошик і оформлення зроблені новіше й поводяться краще, але переведення магазину на них — окрема робота з перевіркою оплати й доставки. Ми пропонуємо це, лише якщо класичні шаблони у вашій темі переписані так, що лагодити їх дорожче.
Що робити з розширеннями?
Перевіряти по одному. Найчастіше проблеми дають свотчі варіантів, фільтри з повзунком ціни, віджети відгуків і чати. Для частини розширень розробники публікують звіти про доступність — якщо звіту немає й відповіді теж, чесніше замінити розширення або описати обмеження в заяві.
Ваша безкоштовна перевірка покаже проблеми магазину?
Частково. Вона дивиться одну сторінку й бачить те, що видно в коді: збільшення, імена кнопок, підписи полів, заголовки. Перевірте окремо категорію й картку товару. Кошик і оформлення замовлення автоматична перевірка не пройде — туди заходять руками, це частина платного аудиту.
Скільки часу це займає?
Перевірка зі звітом по магазину — три-п’ять днів, довше за звичайний сайт: сценаріїв більше. Виправлення залежать від теми й кількості розширень. Точні строки називаємо разом зі звітом, коли видно обсяг.
Скільки це коштує?
Перевірка зі звітом — фіксована сума, вона вказана на сторінці напряму. Виправлення рахуються за годинами після звіту. Магазин майже завжди дорожчий за звичайний сайт, і ми кажемо про це до початку, а не в середині роботи.
Хто відповідає за заяву про доступність?
Організація публікує її від свого імені — ми готуємо текст і сторінку, перелічуємо зроблене й залишені обмеження. Для магазину це особливо важливо: частина обмежень живе в чужих розширеннях, і про це краще написати прямо.
Поширені випадки
- Доступність сайту на WordPressПривести до WCAG — без заміни теми й переписування сайту
- Доступність сайту на WixWix закриває частину вимог сам — решту однаково роблять руками
- Доступність сайту на TildaСтандартні блоки вже майже готові — ламається зазвичай Zero Block
- Доступність сайту клінікиЗапис на прийом має працювати з клавіатури й екранного диктора
- Доступність сайту закладу освітиСайт, на якому батьки знаходять потрібне без сторонньої допомоги
- Доступність сайту громади та ГОРішення, послуги й звернення — доступні без сторонньої допомоги
- Доступність сайту юриста та бухгалтераКлієнт сам знаходить відповідь і сам подає заявку
- Доступність сайту ресторануМеню, яке можна прочитати, і замовлення, яке можна оформити
- Доступність сайту автосервісуЗапис на ремонт працює з клавіатури й екранного диктора
- Доступність сайту нерухомостіОб’єкт можна знайти й подивитися без сторонньої допомоги
- Доступність туристичного сайтуЗабронювати можна з клавіатури, а не лише мишею
- Заява про доступністьЗаява про доступність: готовий шаблон