Для использования библиотеки ally.js в проекте на JavaScript рекомендуется установка через npm. Выполняется команда:
npm install ally.js
После установки можно импортировать необходимые функции или весь модуль в проекте. Например, при использовании ES6-модулей:
import ally from 'ally.js';
Или импорт отдельных методов:
import { queryTabbable, isFocusable } from 'ally.js';
Использование отдельных функций помогает уменьшить размер итогового бандла, что особенно важно для больших проектов.
Для быстрого тестирования или использования без сборщика модулей можно подключить ally.js через CDN. Пример подключения в HTML:
После этого все функции библиотеки становятся доступными через
глобальный объект ally. Например:
const tabbableElements = ally.query.tabbable();
Библиотека предоставляет несколько ключевых функций для работы с доступностью элементов на странице:
tabindex.Каждая функция принимает контекст (корневой элемент DOM) и дополнительные опции, что позволяет точно контролировать выборку элементов.
Для React, Vue или Svelte подключение ally.js не отличается от стандартного подхода через npm. Например, в React:
import React, { useEffect } from 'react';
import ally from 'ally.js';
const FocusExample = () => {
useEffect(() => {
const tabbable = ally.query.tabbable();
console.log(tabbable);
}, []);
return (
);
};
export default FocusExample;
В Vue аналогично:
Библиотека ally.js совместима с современными
браузерами, но для поддержки устаревших версий Internet Explorer
рекомендуется подключать полифиллы для методов
Element.matches и Array.from. Пример:
При использовании Webpack, Rollup или Vite рекомендуется проверять tree-shaking, если подключаются отдельные функции:
import { query, is } from 'ally.js';
const tabbableElements = query.tabbable();
const focusableCheck = is.focusable(tabbableElements[0]);
Такой подход гарантирует, что в итоговый бандл попадут только используемые методы, что снижает размер скрипта.
Для проверки корректности подключения можно вызвать базовую функцию в консоли:
console.log(ally.query.tabbable());
Если возвращается массив элементов, библиотека подключена корректно и готова к работе.