Spec-Zone.ru › Playwright

Доступность

Класс Accessibility предоставляет методы для проверки дерева доступности Chromium. Дерево доступности используется технологиями辅助, такими как скринридеры или переключатели.

Доступность сильно зависит от платформы. На разных платформах используются разные скринридеры, которые могут давать совершенно разные результаты.

Рендеринговые движки Chromium, Firefox и WebKit имеют понятие "дерева доступности", которое затем преобразуется в API, специфичные для разных платформ. Пространство имен Accessibility предоставляет доступ к этому дереву доступности.

Большая часть дерева доступности отфильтровывается при переходе от внутреннего дерева AX браузера к платформенно-специфичному дереву AX или самими технологиями辅助. По умолчанию Playwright пытается приблизительно воспроизвести этот фильтр, отображая только "интересные" узлы дерева.

Устаревшее​

снимок​

Добавлен до версии 1.9
Устаревшее

Этот метод устарел. Пожалуйста, используйте другие библиотеки, такие как Axe, если вам нужно проверить доступность страницы. Обратитесь к нашему руководству по Node.js пошаговая инструкция для интеграции с Axe.

Захватывает текущее состояние дерева доступности. Возвращаемый объект представляет корневой узел доступности страницы.

примечание

Дерево доступности Chromium содержит узлы, которые не используются на большинстве платформ и большинством скринридеров. Playwright также отбросит их для более простого в обработке дерева, если только interestingOnly не установлен в false.

Использование

Пример вывода всего дерева доступности:

const snapshot = await page.accessibility.snapshot();
console.log(snapshot);

Пример вывода имени сфокусированного узла:

const snapshot = await page.accessibility.snapshot();
const node = findFocusedNode(snapshot);
console.log(node && node.name);

function findFocusedNode(node) {
  if (node.focused)
    return node;
  for (const child of node.children || []) {
    const foundNode = findFocusedNode(child);
    if (foundNode)
      return foundNode;
  }
  return null;
}

Аргументы

  • options Объект (необязательно)
    • interestingOnly булево (необязательно)

      Удалять неинтересные узлы из дерева. По умолчанию true.

    • root Обработчик элемента (необязательно)

      Корневой элемент DOM для снимка. По умолчанию вся страница.

Возвращаемое значение

  • Promise<null | Объект>
    • role строка

      Роль.

    • name строка

      Человекочитаемое имя узла.

    • value строка | число

      Текущее значение узла, если применимо.

    • description строка

      Дополнительное описание узла для чтения человеком, если применимо.

    • keyshortcuts строка

      Сочетания клавиш, связанные с этим узлом, если применимо.

    • roledescription строка

      Альтернативное для чтения человеком описание роли, если применимо.

    • valuetext строка

      Описание текущего значения, если применимо.

    • disabled булево

      Отключен ли узел, если применимо.

    • expanded булево

      Развернут или свёрнут ли узел, если применимо.

    • focused булево

      Сфокусирован ли узел, если применимо.

    • modal булево

      Является ли узел модальным, если применимо.

    • multiline булево

      Поддерживает ли текстовое поле ввода узла несколько строк, если применимо.

    • multiselectable булево

      Может ли быть выбрано более одного дочернего узла, если применимо.

    • readonly булево

      Только для чтения ли узел, если применимо.

    • required булево

      Обязателен ли узел, если применимо.

    • selected булево

      Выбран ли узел в родительском узле, если применимо.

    • checked булево | "смешанный"

      Отмечен ли флажок, или "смешанный", если применимо.

    • pressed булево | "смешанный"

      Отмечена ли переключательная кнопка, или "смешанный", если применимо.

    • level число

      Уровень заголовка, если применимо.

    • valuemin число

      Минимальное значение в узле, если применимо.

    • valuemax число

      Максимальное значение в узле, если применимо.

    • autocomplete строка

      Какой тип автозаполнения поддерживается элементом управления, если применимо.

    • haspopup строка

      Какой тип всплывающего окна в настоящее время отображается для узла, если применимо.

    • invalid строка

      Является ли значение узла недействительным и, если да, то каким образом, если применимо.

    • orientation строка

      Ориентирован ли узел по горизонтали или вертикали, если применимо.

    • children Массив<Объект>

      Дочерние узлы, если таковые имеются, если применимо.

© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-accessibility

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API