Editoria11y для Drupal

Основні можливості

Модуль Drupal з'єднує бібліотеку перевірки з редакторським бекендом і додає багато серверних інструментів для звітності, керування та налаштування

Редактор Drupal із вбудованими підказками
Проблеми виявляються як під час завантаження на фронтенді, так і в процесі введення тексту в CKEditor і Gutenberg.
Підказка вказує, що посилання має лише назву «натисніть тут».
Спливаючі підказки отримують кнопки для переходу до редактора, ігнорування попередження (для поточного користувача) або позначення його як «ОК» (для всіх користувачів). Повторювані попередження пропонують дії для всієї сторінки або всього сайту.
Інтерфейс конструктора власних тестів із полями для заголовка та вмісту підказки, а також селекторів елементів і виключень.

Підмодуль CSA додає:

  • Конструктор власних тестів
  • 40+ тестів для розробників
  • Перевірку контрастності
  • Сканери сайту
  • Аналіз читабельності
  • Роздільні конфігурації для розробників/редакторів
Панель звітів, що показує останні проблеми та сторінки з найбільшою кількістю проблем.
Загальносайтова панель надає фільтровані та експортовані звіти про попередження та відхилення.

Встановлення та основні кроки налаштування

Пакетний інсталятор на Drupal.org містить кілька модулів:

  • Editoria11y: основна перевірка контенту та панель керування.
  • Editoria11y CSA: тести для розробників та інструменти обслуговування панелі.
  • Editoria11y Export: інструменти звітування у форматі CSV.

Встановіть як будь-який інший модуль, а потім виконайте такі ключові кроки:

  1. Перевірте дозволи. Довірені автори повинні мати права «Позначити як ОК», «Позначити як проігноровано» та «Переглянути панель».
  2. Перевірте ключові сторінки на наявність повторюваних або непотрібних попереджень. Або позначте їх як «ОК» у підказці, або налаштуйте конфігурацію для ігнорування елементів за селектором.
  3. Шукайте підказки, які важко помітити — поза екраном, обрізані, за іншими елементами або в прихованих елементах. Використовуйте поради з розділу «Виправлення розташування підказок» нижче.
  4. Якщо сайт вже має контент і ви маєте підписку CSA, перейдіть на вкладку «recheck» панелі та проскануйте сайт, щоб попередньо завантажити звіти сайту. Це необов'язково, але старі сторінки не з'являться у звітах, доки їх не буде проскановано або відвідано авторизованим користувачем.

Перегляньте відеовступ до параметрів конфігурації (v2.4).

Приховування непотрібних попереджень

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

Хоча можна вимкнути тести повністю, зазвичай краще приховувати попередження для конкретних елементів або сторінок.


Під час кожного запуску тестів Editoria11y збирає єдиний набір елементів із налаштування «Перевірити контент у цих контейнерах», а потім кілька разів фільтрує його. Ось як виглядає запуск тесту:

  1. Скасувати перевірку, якщо конфігурація забороняє її на цій сторінці або для цього користувача.
  2. Зібрати елементи у зазначених регіонах сторінки, наприклад:
    body > *:not('.ed11y-element')
    Для користувачів Editoria11y CSA — це регіони на вкладці Developer tests.
  3. Відкинути елементи, що відповідають селекторам ігнорування, наприклад:
    .widgets, .utility-menu
    Для користувачів Editoria11y CSA — це селектори на вкладці Developer tests.
  4. Запустити тести та синхронізувати результати з панеллю.
  5. Якщо роздільна конфігурація активна і користувач є редактором контенту, відфільтрувати результати розробника:
    • Відкинути результати з тестів, позначених як «лише для розробника».
    • Відкинути результати на елементах поза зазначеними регіонами контенту, наприклад:
      main, footer
    • Відкинути результати на елементах, що відповідають селекторам ігнорування контенту.
    Зверніть увагу, що другого етапу «збирання» немає. Регіони сторінки розробника повинні включати регіони контенту.
  6. Відкрити панель і відобразити попередження, якщо конфігурація відповідає налаштуванню автовідкриття.

Відхилення попереджень

Тести можна налаштувати в бібліотеці як помилки або попередження («ручні перевірки»). Попередження можна відхиляти. У нижній частині кожної підказки доступно два типи відхилень:

  • «Ігнорувати» зберігається як налаштування користувача: попередження тепер приховано для поточного користувача, але лише для нього.
  • «Позначити як ОК» приховує попередження для всіх користувачів.

Можливість відхиляти попередження контролюється на рівні ролі в дозволах користувачів Drupal. Більшості авторів слід дозволяти відхиляти попередження. Немає сенсу призначати комусь ручну перевірку, якщо вони не можуть позначити елемент як перевірений.

Ігнорування елементів

Ці два параметри конфігурації є найважливішими!

Встановіть перший параметр, щоб охопити будь-які частини сторінки, які можуть редагувати автори контенту. Наприклад, якщо вони можуть редагувати область main, .sidebar і .footer-column-two, вкажіть ці селектори як область перевірки контенту.

Використовуйте другий, щоб «виключити» підрозділи. Наприклад, якщо main містить різні віджети та вбудовані елементи, які можуть змінювати лише розробники, перерахуйте їх: .widget-1, .social-embed;

Якщо ви використовуєте роздільну конфігурацію, ви побачите аналогічну пару налаштувань на вкладці «Developer Tests»:

Область перевірки розробника

Головне, що слід знати про область перевірки розробника: вона не є незалежною від областей перевірки контенту. У роздільній конфігурації перевіряються області розробника, а потім ці результати фільтруються відповідно до областей контенту. Будь-які області, виключені для розробників, також будуть виключені для редакторів контенту. Не виключайте редаговані області контенту!

Деякі тести допускають більш точне налаштування, щоб приховувати лише певні попередження на відповідних елементах. Шукайте їх у розділах:

  • Тести контенту: посилання для перевірки
  • Тести контенту: вбудовані елементи для перевірки
  • Тести контенту: виявлення динамічного та shadow-контенту
  • Тести розробника: контрастність

Приховування для конкретних сторінок або користувачів

Найпростіший спосіб — передати CSS-класи або ідентифікатори до цих параметрів:

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

Другий запускає перевірку у згорнутому режимі та автоматично позначає (для поточного користувача) всі проблеми як «Проігноровано», навіть якщо вони є помилками. Це дозволяє тестам виконуватися та оновлювати панель, не турбуючи користувача.

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

Керування загальносайтовими результатами

Сканування та оновлення результатів

Editoria11y — це інструмент моніторингу в реальному часі, а не сканер. Його загальносайтові звіти оновлюються, коли автори переглядають сторінки, тому регулярне сканування зазвичай не потрібне. Модуль CSA включає сканер, але він потрібен лише в трьох випадках:

  1. Під час першого встановлення Editoria11y на наявному сайті з великою кількістю сторінок. Сторінки потрібно відвідати, перш ніж вони з'являться на панелі, тому швидке початкове сканування заощадить час.
  2. Значні оновлення тем або модулів можуть виправити (або спричинити) проблеми на багатьох сторінках, які не з'являться, доки їх не відвідають або не проскануємо.
  3. Масові дії в адміністративному інтерфейсі, як-от видалення сторінок або перенаправлень, як правило, залишають результати зі сторінок, яких більше немає або які перемістилися. У таких випадках допомагають дії обслуговування на вкладці «Refresh» для оновлення URL-адрес сторінок і виявлення та видалення видалених сторінок.

Жодні дані не залишають ваш сайт під час сканування. Сканер CSA — це не хмарний інструмент; він використовує ваш браузер для завантаження та перевірки сторінок на вашому власному сайті. Недоліком цього підходу є те, що браузери призупиняють фонові вкладки. Вам потрібно буде тримати комп'ютер увімкненим і активним під час сканування. Плануйте відкрити нове вікно для сканера й залишити його активною вкладкою цього вікна під час роботи. Ви можете продовжувати роботу в іншому вікні. Сканер оновлюватиме свою оцінку після кожного пакету сторінок.

Перегляд звітів

  • Останні дозволяють досліджувати окремі попередження. Це дає змогу, наприклад, відфільтрувати всі екземпляри того самого типу попередження, побачити, які попередження часто з'являються в нещодавньому контенті, або які автори досі мають звичку робити ту саму помилку.
  • Сторінки показують кількість попереджень на сторінку, згруповану за сторінкою. Це дозволяє знаходити сторінки з найбільшою кількістю проблем і фільтрувати за атрибутами сторінки, такими як тип контенту та статус публікації.
  • Попередження показують проблеми за типом.
  • Відхилення дозволяють стежити за тим, чи правильно автори відхиляють попередження, і містять кнопки «скидання» для відновлення відхилених попереджень.
  • Експорт містить версії звітів «Сторінки», «Попередження» та «Відхилення», які можна відфільтрувати для підготовки CSV-завантажень. Надається підмодулем CSV Export
  • Оновлення містить інструменти обслуговування панелі для видалення попереджень із видалених сторінок, видалення попереджень із параметризованих псевдосторінок на зразок /search?query=example, оновлення збережених заголовків і URL-адрес сторінок, а також запуску ручного сканування. Надається підмодулем CSA

Виправлення прихованих або позаекранних підказок

Модуль надає поля для двох параметрів конфігурації бібліотеки, що змінюють розміщення підказок:

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

Деякі теми мають віджети, що перемикають видимість контенту, наприклад акордеони, вкладки та слайдшоу. Підказки всередині цих елементів також будуть приховані. Надання списку селекторів для таких віджетів означає, що Editoria11y зробить коротку паузу, коли користувач спробує перейти до цих підказок за допомогою кнопок «наступна» або «попередня». Теми та модулі Drupal можуть тоді дотримуватися інструкцій із розділу бібліотеки про роботу з підказками в прихованому контенті, щоб відкрити прихований контент.

Написання власної конфігурації

У PHP: модуль Drupal надає hook_editoria11y_alter_config для зміни вмісту drupalSettings.editoria11y у модулі або темі. Наприклад:

Зміна drupalSettings допомагає лише в тому разі, якщо JavaScript модуля вже налаштований на передачу цього значення до бібліотеки. Щоб додати додаткові параметри, потрібно безпосередньо змінити об'єкт options у JavaScript. Модуль перевіряє одну глобальну JS-змінну editoria11yOptionsOverride. Якщо вона встановлена, він передасть об'єкт options до функції editoria11yOptions, яку ви надали у своєму модулі або темі. Тепер ви можете встановити будь-який із параметрів бібліотеки.

Написання власних тестів

Спочатку в конфігурації модуля додайте 1 до параметра «Custom tests», щоб він знав, що потрібно відстежувати тести.

Потім створіть бібліотеку Drupal JavaScript із вашими тестами у вашій темі або модулі, використовуючи посібник бібліотеки зі написання власних тестів.

Ось робочий приклад від Princeton — власний тест для сповіщення про посилання Safe Links. Зверніть увагу, що він звертається до класу Editoria11y через Drupal.Ed11y.

Отримання допомоги

Перегляньте сторінку контактів для варіантів підтримки від спільноти. @itmaybejj зазвичай перебуває в Drupal Slack, коли сонце світить у західній півкулі.

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