Использование тегов <i> и <span> для иконок в HTML

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Если необходимо разместить иконки, включая FontAwesome, более целесообразным является использование тега <span> с атрибутом aria-hidden="true", поскольку это повышает доступность контента и больше соответствует действующим стандартам в области веб-разработки.

Вот так это выглядит в коде:

HTML
Скопировать код
<!-- Звёзды невидимые, но от этого ещё прекраснее! -->
<span class="fa fa-star" aria-hidden="true"></span>

Несмотря на то что тег <i> традиционно используется для иконок, его лучше заменить на <span> для соблюдения правил семантики и доступности.

Кинга Идем в IT: пошаговый план для смены профессии

Семантика превыше всего

Семантическая структура веб-страниц играет очень важную роль для пользователей и программных агентов, воспринимающих содержание страницы. Тег <i>, в соответствии с классической спецификацией, используется для выделения текста курсивом. В свою очередь, использование тега <span> с ARIA атрибутами делает веб-страницу более понятной и доступной:

HTML
Скопировать код
<!-- Окно в мир иконок, доступное каждому -->
<span class="icon" role="img" aria-label="star"></span>

Доступность – это прежде всего

Доступность сайта – это базовый принцип его дизайна. Использование ARIA ролей и атрибутов вместе с тегом <span> позволяет скринридерам точно передавать информацию об иконках. Тег <i>, напротив, часто интерпретируется как элемент форматирования текста, без передачи дополнительного смыслового значения.

Эволюция вместо революции

Изменения в веб-дизайне отражают стремление к использованию более семантичного и доступного подхода. Этому свидетельствует применение тега <span> для размещения иконок в Bootstrap 3. Это явный пример, когда на первый план выходят доступность и семантика, а не только визуальное оформление.

Визуализация

Теги <i> и <span> можно считать двумя различными инструментами в вашем наборе для работы с иконками:

Markdown
Скопировать код
🔧 <i>    : 'Гаечный ключ', традиционно используется для **иконок**.
🔨 <span> : 'Молоток' – универсальный инструмент для **любого строчного содержимого**.

Выбирайте наиболее подходящий инструмент в зависимости от поставленной задачи:

Markdown
Скопировать код
Любите **гайки и болты**? Тогда 🔧 <i> – ваш выбор!
Предпочитаете **пищу королей**? Тогда 🔨 <span> – именно то, что нужно!

При стилизации ваших HTML элементов действуйте осознанно – пусть ваш выбор будет продуман и обоснован.

Производительность определяет успех

Производительность сайта является неотъемлемым фактором его успешности. Правильное использование таких элементов, как <i>, и избегание сложных структур исключительно для размещения иконок могут улучшить работу сайта. Псевдоэлементы (:before и :after) помогут создать лаконичный и удобный для поддержки код, снижая нагрузку на систему за счёт сокращения числа запросов.

Пользовательские элементы – наше будущее

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

Рассказ браузера

Для обеспечения единообразного отображения на разных платформах, будь то Chrome, Firefox или Safari, важно применять нормализацию пользовательских элементов. Хоть и тег <i> хорошо работает для поддержки устаревших браузеров, но сегодня он уже не ставит тон в веб-разработке.

Чистый HTML – ключ к порядку

Сохранение чистоты структуры HTML играет большую роль. Отказ от лишних элементов и сложной структуры для визуального оформления улучшит производительность веб-страницы и облегчит как написание, так и чтение кода.