Использование тегов <i> и <span> для иконок в HTML
Быстрый ответ
Если необходимо разместить иконки, включая FontAwesome, более целесообразным является использование тега <span>
с атрибутом aria-hidden="true"
, поскольку это повышает доступность контента и больше соответствует действующим стандартам в области веб-разработки.
Вот так это выглядит в коде:
<!-- Звёзды невидимые, но от этого ещё прекраснее! -->
<span class="fa fa-star" aria-hidden="true"></span>
Несмотря на то что тег <i>
традиционно используется для иконок, его лучше заменить на <span>
для соблюдения правил семантики и доступности.
Семантика превыше всего
Семантическая структура веб-страниц играет очень важную роль для пользователей и программных агентов, воспринимающих содержание страницы. Тег <i>
, в соответствии с классической спецификацией, используется для выделения текста курсивом. В свою очередь, использование тега <span>
с ARIA атрибутами делает веб-страницу более понятной и доступной:
<!-- Окно в мир иконок, доступное каждому -->
<span class="icon" role="img" aria-label="star"></span>
Доступность – это прежде всего
Доступность сайта – это базовый принцип его дизайна. Использование ARIA ролей и атрибутов вместе с тегом <span>
позволяет скринридерам точно передавать информацию об иконках. Тег <i>
, напротив, часто интерпретируется как элемент форматирования текста, без передачи дополнительного смыслового значения.
Эволюция вместо революции
Изменения в веб-дизайне отражают стремление к использованию более семантичного и доступного подхода. Этому свидетельствует применение тега <span>
для размещения иконок в Bootstrap 3. Это явный пример, когда на первый план выходят доступность и семантика, а не только визуальное оформление.
Визуализация
Теги <i>
и <span>
можно считать двумя различными инструментами в вашем наборе для работы с иконками:
🔧 <i> : 'Гаечный ключ', традиционно используется для **иконок**.
🔨 <span> : 'Молоток' – универсальный инструмент для **любого строчного содержимого**.
Выбирайте наиболее подходящий инструмент в зависимости от поставленной задачи:
Любите **гайки и болты**? Тогда 🔧 <i> – ваш выбор!
Предпочитаете **пищу королей**? Тогда 🔨 <span> – именно то, что нужно!
При стилизации ваших HTML элементов действуйте осознанно – пусть ваш выбор будет продуман и обоснован.
Производительность определяет успех
Производительность сайта является неотъемлемым фактором его успешности. Правильное использование таких элементов, как <i>
, и избегание сложных структур исключительно для размещения иконок могут улучшить работу сайта. Псевдоэлементы (:before
и :after
) помогут создать лаконичный и удобный для поддержки код, снижая нагрузку на систему за счёт сокращения числа запросов.
Пользовательские элементы – наше будущее
Взгляд в будущее показывает тенденцию к развитию пользовательских элементов и компонентов от таких фреймворков, как Angular Directives и Polymer, которые обеспечивают функциональность, современный дизайн и поддержку устаревших браузеров с помощью полифилов.
Рассказ браузера
Для обеспечения единообразного отображения на разных платформах, будь то Chrome, Firefox или Safari, важно применять нормализацию пользовательских элементов. Хоть и тег <i>
хорошо работает для поддержки устаревших браузеров, но сегодня он уже не ставит тон в веб-разработке.
Чистый HTML – ключ к порядку
Сохранение чистоты структуры HTML играет большую роль. Отказ от лишних элементов и сложной структуры для визуального оформления улучшит производительность веб-страницы и облегчит как написание, так и чтение кода.