Контрастность и читаемость — ключевые аспекты при создании интерактивных пошаговых инструкций с использованием библиотеки Intro.js. Эти параметры напрямую влияют на восприятие информации пользователем и на эффективность обучающих туров. Intro.js предоставляет гибкие инструменты для настройки визуального представления подсказок и выделяемых элементов, что позволяет обеспечить высокий уровень доступности интерфейса.
Intro.js использует оверлей (overlay) для затемнения остальной части страницы, выделяя текущий элемент. По умолчанию цвет оверлея — полупрозрачный черный, что создает контраст с белым текстом подсказки. Для изменения цвета и прозрачности используется объект настроек:
introJs().setOptions({
overlayOpacity: 0.7, // прозрачность оверлея (0–1)
overlayColor: 'rgba(0,0,0,0.7)' // цвет оверлея
});
Рекомендации по контрастности:
Подсказки в Intro.js создаются в элементах tooltip,
которые можно полностью кастомизировать через CSS и настройки:
introJs().setOptions({
tooltipClass: 'custom-tooltip', // класс для кастомного оформления
highlightClass: 'custom-highlight' // класс для подсветки
});
CSS для повышения читаемости:
.custom-tooltip {
background-color: #ffffff;
color: #333333;
font-size: 16px;
line-height: 1.5;
padding: 15px;
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}
Ключевые моменты:
Элемент, к которому привязана подсказка, подсвечивается с помощью рамки или тени. Стандартное поведение Intro.js:
.introjs-helperLayer {
border: 3px solid #ff9900; // выделение элемента
border-radius: 6px;
}
Для улучшения контрастности:
Intro.js поддерживает возможность динамического изменения стиля подсказок в зависимости от темы страницы:
if (document.body.classList.contains('dark-theme')) {
introJs().setOptions({
tooltipClass: 'dark-tooltip',
highlightClass: 'dark-highlight'
});
} else {
introJs().setOptions({
tooltipClass: 'light-tooltip',
highlightClass: 'light-highlight'
});
}
Пример CSS для темной темы:
.dark-tooltip {
background-color: #2c2c2c;
color: #f0f0f0;
font-size: 16px;
line-height: 1.5;
padding: 15px;
border-radius: 8px;
}
.dark-highlight {
box-shadow: 0 0 10px 3px rgba(255, 165, 0, 0.8);
}
Для улучшения читаемости и концентрации внимания важно:
introJs().setOptions({
showStepNumbers: true,
showProgress: true,
exitOnOverlayClick: false,
scrollToElement: true
});
Эти настройки обеспечивают плавное фокусирование на активных элементах и удержание внимания пользователя на ключевой информации.
Контрастность и читаемость напрямую связаны с доступностью (a11y). Intro.js можно использовать в связке с:
aria-describedby для
подсказок.introJs().setOptions({
tooltipPosition: 'auto',
tooltipClass: 'accessible-tooltip'
});
CSS:
.accessible-tooltip {
font-size: 18px;
color: #000000;
background-color: #ffffff;
padding: 16px;
line-height: 1.6;
}
Использование этих подходов гарантирует, что инструкции будут читабельными, понятными и комфортными для всех пользователей, независимо от условий освещения и индивидуальных особенностей зрения.