Контрастность и читаемость

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


Цвет текста и фон

Tooltipster позволяет задавать цвет текста и фона через опции theme и пользовательские CSS-правила. Важно выбирать такие сочетания, которые обеспечивают достаточный контраст. Согласно WCAG 2.1, коэффициент контраста текста к фону должен быть:

  • Минимум 4.5:1 для обычного текста
  • Минимум 3:1 для крупного текста (≥ 18pt или 14pt жирным)

Пример CSS для темы Tooltipster с высоким контрастом:

.tooltipster-theme-highcontrast .tooltipster-content {
    background-color: #1a1a1a; /* тёмный фон */
    color: #ffffff; /* белый текст */
    font-size: 14px;
    line-height: 1.5;
    padding: 10px 15px;
    border-radius: 6px;
}

Использование темных фонов с ярким текстом повышает читаемость на разноцветных страницах и предотвращает слияние текста с фоном.


Прозрачность и фильтры

Tooltipster поддерживает прозрачность через CSS opacity или RGBA-цвета. Однако излишняя прозрачность может ухудшать читаемость:

.tooltipster-content {
    background-color: rgba(0, 0, 0, 0.8); /* полупрозрачный черный */
    color: #ffffff;
}

Использование прозрачности следует сочетать с тёмной или однотонной подложкой. Для текста на сложных фонах полезно добавлять тень к тексту для повышения контраста:

.tooltipster-content {
    text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
}

Размер шрифта и читаемость

Tooltipster наследует размер шрифта из страницы, но для всплывающих подсказок рекомендуется явно задавать размеры. Мелкий текст ухудшает восприятие, особенно на мобильных устройствах:

.tooltipster-content {
    font-size: 16px;
    line-height: 1.6;
}

При использовании длинных подсказок важно контролировать перенос текста и максимальную ширину. Tooltipster предоставляет опцию maxWidth:

$('.tooltip').tooltipster({
    maxWidth: 250,
    theme: 'tooltipster-theme-highcontrast'
});

Динамическая адаптация цвета

Tooltipster позволяет обновлять содержимое и оформление подсказки динамически с помощью методов content и option:

$('.tooltip').tooltipster({
    content: 'Начальная подсказка',
    theme: 'tooltipster-theme-highcontrast'
});

$('.tooltip').on('mouseenter', function() {
    $(this).tooltipster('content', 'Обновленная подсказка');
    $(this).tooltipster('option', 'theme', 'tooltipster-theme-light');
});

Это позволяет адаптировать цветовую схему под текущий фон элемента, поддерживая высокий контраст и удобочитаемость.


Контрастность и анимация

Tooltipster поддерживает анимации появления подсказок. Необходимо учитывать, что быстрые или сложные анимации могут временно снижать читаемость. Рекомендуется использовать плавное появление с непрозрачностью, чтобы текст был четким сразу после рендеринга:

$('.tooltip').tooltipster({
    animation: 'fade',
    delay: 200,
    theme: 'tooltipster-theme-highcontrast'
});

Итоговые рекомендации по контрасту

  • Выбирать сочетания текста и фона с высоким коэффициентом контраста.
  • Использовать текстовые тени для полупрозрачных фонов.
  • Контролировать размер шрифта и перенос текста.
  • Использовать maxWidth и line-height для улучшения восприятия.
  • Адаптировать цвет и стиль подсказки динамически, если фон изменяется.
  • Плавная анимация появления не снижает читаемость.

Эти принципы помогают сделать подсказки в Tooltipster легко читаемыми и визуально комфортными на любых страницах, независимо от сложности фона и контента.