Переходим сразу к делу.

Создание ссылок для контактов

При помощи HTML создаются рабочие ссылки на электронную почту, телефонный номер, SMS:

<!-- Ссылка на почту -->
<a href="mailto:[email protected]"> Send Email </a>

<!-- Ссылка на телефон -->
<a href="tel:+1234567890"> Call Us </a>

<!-- Ссылка на SMS -->
<a href="sms:+1234567890"> Send SMS </a>

Создание сворачиваемого контента

Тегами <details> и <summary> в веб-страницу включается сворачиваемое содержимое, первым тегом создается контейнер для скрытого контента, вторым  —  предоставляется интерактивная метка для переключения видимости этого контента:

<details>
<summary>Click to expand</summary>
<p>This content can be expanded or collapsed.</p>
</details>

Использование семантических элементов

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

Группирование элементов формы

Тегом <fieldset> связанные элементы формы объединяются в группы, а тегом <legend> вместе с <fieldset> определяется заголовок для тега <fieldset>, так создаются более эффективные и доступные формы:

<form>
<fieldset>
<legend>Personal details</legend>
<label for="firstname">First name:</label>
<input type="text" id="firstname" name="firstname" />
<label for="email">Email:</label>
<input type="email" id="email" name="email" />
<label for="contact">Contact:</label>
<input type="text" id="contact" name="contact" />
<input type="button" value="Submit" />
</fieldset>
</form>

Совершенствование выпадающих меню

Тегом <optgroup> объединяются связанные параметры HTML-тега <select> в больших выпадающих меню или длинных списках параметров:

<select>
<optgroup label="Fruits">
<option>Apple</option>
<option>Banana</option>
<option>Mango</option>
</optgroup>
<optgroup label="Vegetables">
<option>Tomato</option>
<option>Broccoli</option>
<option>Carrot</option>
</optgroup>
</select>

Доработка видеопрезентации

Пока пользователь не проигрывает видео, атрибутом poster и элементом <video> показывается изображение:

<video controls poster="image.png" width="500">
<source src="video.mp4" type="video/mp4 />
</video>

Поддержка множественного выбора

Благодаря атрибуту multiple с элементами <input> и <select> пользователь выбирает/вводит сразу несколько значений:

<input type="file" multiple />
<select multiple>
<option value="java">Java</option>
<option value="javascript">JavaScript</option>
<option value="typescript">TypeScript</option>
<option value="rust">Rust</option>
</select>

Отображение надстрочного и подстрочного текста

Элементами <sub> и <sup> отображается соответственно надстрочный и подстрочный текст:

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

Атрибутом download с элементом <a> указывается, что при нажатии на ссылку пользователь не переходит на связанный с нею ресурс, а загружает его:

<a href="document.pdf" download="document.pdf"> Download PDF </a>

Определение базового URL-адреса для относительных ссылок

Тегом <base> определяется базовый URL-адрес для всех относительных URL-адресов на веб-странице, чем упрощаются загрузка ресурсов и навигация:

<head>
<base href="https://shefali.dev" target="_blank" />
</head>
<body>
<a href="/blog">Blogs</a>
<a href="/get-in-touch">Contact</a>
</body>

Контроль загрузки изображения

Атрибутом loading с элементом <img> контролируется загрузка браузером изображения, имеются значения eager, lazy, auto  —  немедленная, отложенная и автозагрузка:

<img src="picture.jpg" loading="lazy">

Управление функционалом перевода

Атрибутом translate указывается, переводить ли содержимое элемента средствами перевода браузера:

<p translate="no">
This text should not be translated.
</p>

Максимальная длина ввода

Атрибутом maxlength задается максимальное количество символов поля ввода:

<input type="text" maxlength="4">

Минимальная длина ввода

Атрибутом minlength задается минимальное количество символов поля ввода:

<input type="text" minlength="3">

Редактирование контента

Атрибутом contenteditable обозначается доступность содержимого элемента для редактирования пользователями:

<div contenteditable="true">
You can edit this content.
</div>

Проверка орфографии

Атрибутом spellcheck с элементами <input>, элементами для редактирования содержимого и элементами <textarea> в браузере включается и отключается проверка орфографии:

<input type="text" spellcheck="true"/>

В целях доступности и поисковой оптимизации

Всегда добавляйте к изображениям информативные атрибуты alt с альтернативным описанием, на случай если изображение не покажется:

<img src="picture.jpg" alt="Description for the image">

Определение целевого поведения для ссылок

Атрибутом target указывается, где отображается связанный ресурс при нажатии:

<!-- Открывается в том же фрейме -->
<a href="https://shefali.dev" target="_self">Open</a>

<!-- Открывается в новом окне или вкладке -->
<a href="https://shefali.dev" target="_blank">Open</a>

<!-- Открывается в родительском фрейме -->
<a href="https://shefali.dev" target="_parent">Open</a>

<!-- Открывается во всем теле окна -->
<a href="https://shefali.dev" target="_top">Open</a>

<!-- Открывается в именованном фрейме -->
<a href="https://shefali.dev" target="framename">Open</a>

Дополнительная информация об элементе

Она предоставляется атрибутом title, когда пользователь наводит на элемент курсор:

<p title="World Health Organization">WHO</p>

Прием конкретных типов файлов

Атрибутом accept с элементом <input> указываются принимаемые сервером типы файлов, и только для типа файла:

<input type="file" accept="image/png, image/jpeg" />

Оптимизация загрузки видео

Чтобы видеофайлы воспроизводились плавнее, атрибутом preload с элементом <video> загрузка ускоряется:

<video src="video.mp4" preload="auto">
Your browser does not support the video tag.
</video>

Читайте также:

Читайте нас в Telegram, VK и Дзен


Перевод статьи devShefali: 21 HTML Tips You Must Know About

Предыдущая статьяАутентификация и авторизация пользователей в Angular 16 с помощью JWT
Следующая статья.NET Aspire — стремление к рациональному подходу в сфере облачной разработки