Готовые базовые компоненты интерфейса

Посмотреть на github.

Как начать пользоваться?

  1. Выберите нужный вам компонент из навигации слева.
  2. Прочитайте текстовое описание компонента.
  3. Ознакомьтесь с его интерактивной демонстраницей.
  4. Для каждого компонента представлена его верстка, файлы стилей (исходники в SASS, скомпилированный CSS и минифицированный CSS), а также JavaScript обработчики, если они есть у компонента (исходный ES6+ файл source.js для использования в ваших сборках, готовый к production внедрению файл .js и его минифицированная версия min.js)

Атрибуты data-role в верстке компонент являются кастомными и служат для указания JavaScript на компонент.

Важно

Визуальное отображение представленных компонент завязано на предоставленую нами конфигурацию панели, но вы все равно можете использовать их в своих проектах, адаптировав CSS под ваши нужды.


Аккордеоны

Аккордеон представляет собой неупорядоченный список, где у каждого элемента есть триггер и контент.

Триггер является кнопкой и имеет следующие атрибуты:

  • aria-expanded со значениями true/false для указания экранным чтецам на то, раскрыт контент или нет.
  • aria-controls - id элемента, который контролируется триггером.
  • data-trigger - собственный атрибут для однозначной идентификации триггера средствами JavaScript.

У блока контента обязательным атрибутом является id и aria-hidden="true" для скрытого по-умолчанию состояния.

Если вам нужно по-умолчанию раскрыть определнный элемент, уберите у контента атрибут aria-hidden, а триггеру выставите значение атрибута aria-expanded="true".

        


Если при создании аккордеона указать параметр multiple: true, то можно раскрывать более одно элемента.

    
const accordions = document.querySelectorAll('[data-role="accordion"]');
[].forEach.call(accordions, (item) => new Accordion(item, {multiple: true}));
    

Пример:

Ссылки для загрузок

Файл стилей – accordion.css

Минифицированный файл стилей – accordion.min.css

Файл стилей оформленный в препроцессоре SASS – accordion.scss

Скрипт для компонента – accordion.js

Минифицированный скрипт для компонента – accordion.min.js

Исходный скрипт для компонента – accordion.source.js

Вкладки

Необходимо для списка вкладок, элементов вкладок и содержимого вкладок расставить соответствующие роли role="tablist", role="tab", role="tabpabel".

Для вкладок расставить aria-selected атрибуты со значением true у активной вкладки и значнием false у остальных вкладок. Атрибут aria-selected подсказывает браузеру и экранным читалкам, выбрана вкладка или нет.

Для вкладок расставить aria-controls атрибуты со значением атрибута id панели содержимого вкладки. Атрибут aria-controls показывает взимосвязь между вкладкой и ее содержимым.

Для панелей содержимого вкладок установить значение атрибута aria-hidden в true/false в зависимости от того, скрытый ли контент сейчас или нет.

Атрибут aria-labelledby у панелей с содерждимым вкладок озаглавливает эту панель текстом соответствующей вкладки.

Навигация по владкам возможна с помощью клика по нужной вкладке, нажатием клавиши «Enter» по текущей вкладке в фокусе, нажатие стрелок «Влево»/«Вправо» на клавиатуре, когда любой элемент вкладок в фокусе.

Ссылки для загрузок

Файл стилей – tabs.css

Минифицированный файл стилей – tabs.min.css

Файл стилей оформленный в препроцессоре SASS – tabs.scss

Скрипт для компонента – tabs.js

Минифицированный скрипт для компонента – tabs.min.js

Исходный скрипт для компонента – tabs.source.js

Контент вкладки 3
        

Контент вкладки 3

Уведомление

Уведомление представляет собой контрастную с фоном сайта панель с сообщением.

Чтобы уведомление, как только появится на странице, было вне очереди озвучено экранной читалкой, оно должно содержать атрибут role=”alert”.

Ссылки для загрузок

Файл стилей – alert.css

Минифицированный файл стилей – alert.min.css

Файл стилей оформленный в препроцессоре SASS – alert.scss

        



        
    

Скрытый контент

Для того, чтобы пользователь с помощью экранных читалок мог «услышать» изменение состояния скрытого контента, используется атрибут aria-expanded равный true для раскрытого состояния контента и false для закрытого.

Атрибут aria-expanded указывает, что сам элемент или его контент, id которого указан в aria-controls, раскрыт или скрыт.

У контента нужно указать уникальный id.

У элемента, который будет раскрывать контент, нужно указать атрибут aria-controls равный значению id скрываемого контента.

Для раскрытого по-умолчанию контента установите атрибут aria-expanded="true" и уберите hidden утрибут у контента.

Атрибут data-role="collapse" является кастомным и обязателен. По нему JavaScript определяет, что это раскрывающийся список и навешивает обработчики.

Ссылки для загрузок

Файл стилей – collapse.css

Минифицированный файл стилей – collapse.min.css

Файл стилей оформленный в препроцессоре SASS – collapse.scss

Скрипт для компонента – collapse.js

Минифицированный скрипт для компонента – collapse.min.js

        


Раскрытый по-умолчанию контент
        

Раскрытый по-умолчанию контент

Кнопки

Атрибут aria-disabled для тега не является обязательным, так как имеет место быть базовый атрибут disabled, но мы все же рекомендуем указывать его для совместимости с экранными читалками.

Вы можете стилизовать ссылку как кнопку, но в этом случае для disabled состояния атрибут aria-disabled является обязательным.

Ссылки для загрузок

Файл стилей – button.css

Минифицированный файл стилей – button.min.css

Файл стилей оформленный в препроцессоре SASS – button.scss