HTML: 25 фич, которые сделают ваш сайт удобнее

Алексей Назаренко, MinskCSS, апрель 2023

HTML: 25 фич, которые сделают ваш сайт удобнее

Алексей Назаренко, SpurIT

Алексей Назаренко

Работаю в SpurIT

Twitter, Telegram, Email

HTML *

* О нём мало говорят

UX *

* Это важно

HTML

109

<a> <abbr> <address> <area> <article> <aside> <audio> <b> <base>
<bdi> <bdo> <blockquote> <body> <br> <button> <canvas> <caption> <cite> <code> <col> <colgroup> <data> <datalist> <dd> <del> <details> <dfn> <dialog> <div> <dl> <dt> <em> <embed> <fieldset> <figcaption> <figure> <footer> <form> <h1-h6> <head> <header> <hgroup> <hr> <html> <i> <iframe> <img> <input> <ins> <kbd> <label> <legend> <li> <link> <main> <map> <mark> <math> <menu> <meta> <meter> <nav> <noscript> <object> <ol> <optgroup> <option> <output> <p> <picture> <pre> <progress> <q> <rp> <rt> <ruby> <s> <samp> <script> <search> <section> <select> <slot> <small> <source> <span> <strong> <style> <sub> <summary> <sup> <svg> <table> <tbody> <td> <template> <textarea> <tfoot> <th> <thead> <time> <title> <tr> <track> <u> <ul> <var> <video> <wbr>

Elements

01. Семантичная вёрстка

Зачем: скринридеры, режим чтения, браузерные расширения, улучшение поисковой выдачи, SEO

Семантика для циников, Вадим Макеев

02. lang

Зачем: переводчики, скринридеры, региональная выдача.

03. translate

Зачем: контроль автоматического перевода.

Пример ненужного перевода блока с JavaScript-кодом на сайте Medium в статье про веб-компоненты. Introduction to Web Components

04. hidden

Зачем: не требуется пользовательский CSS, предотвращение сдвигов макета (CLS).

Медиа

05. alt

Зачем: скринридеры, поиск по картинкам, fallback.

Images Tutorial | Web Accessibility Initiative

06. <source>

Зачем: адаптивность, ретина, art direction, уменьшение трафика.

Audio and Video

Пример <picture> и <source>

07. width и height

Зачем: предотвращение сдвигов макета (CLS).

Cumulative Layout Shift (CLS)

Пример CLS

08. Субтитры

Зачем: текстовая альтернатива.

Web Video Text Tracks Format (WebVTT)

Пример субтитров

09. loading

Зачем: уменьшение трафика.

Audio and Video

Пример работы loading="lazy"

Ссылки

10. Используйте ссылки!

Зачем: режимы открытия, копирование, сохранение, доступность, состояния

Тег a, Никита Дубко
Hyperlink

11. download

Зачем: человекочитаемое название, не требуется JS.

12. Внешние ссылки

Зачем: сохранение вкладки, повышение безопасности.

13. Схемы

Зачем: нативные приложения, быстрые действия.

Пример схем

14. Deep links

Также есть для других соц сетей.

Зачем: нативные приложения, PWA, быстрые действия.

Telegram Deep links

Формы

15. Используйте <form>!

Зачем: автодополнение, встроенная валидация, сохранение данных, прогрессивное улучшение.

Пример <form> на Shopify

16. <label> и placeholder

Зачем: скринридеры, переход к полю, понятность, автодополнение.

17. autocomplete

Зачем: автодополнение, сохранение данных.

001. Как работает автозаполнение в браузерах

Пример автодополнения

18. Валидация и novalidate

Зачем: прогрессивное улучшение.

Пример валидации

19. inputmode

Зачем: виртуальные клавиатуры.

Пример inputmode

Inputmode Sandbox

20. autocapitalize

Зачем: удобство ввода.

Пример autocapitalize

autocapitalize Text Input Sample

21. spellcheck

Зачем: предотвращение автокоррекции.

Пример spellcheck

Метаданные

22. viewport

Зачем: адаптивность, зум на мобильных устройствах.

Viewport meta tag

23. Цветовые схемы

Зачем: адаптивность, пользовательские предпочтения.

Пример theme-color

Пример color-scheme

24. Open Graph

Зачем: шаринг, улучшение сниппета в поиске.

The Open Graph protocol

Карточки в соц. сетях

25. Микроразметка

Schema.org

25. Микроразметка

Зачем: улучшение сниппета в поиске, другие устройства, SEO.

JSON for Linking Data

Итог

Вопросы

Спасибо за внимание!

Слайды: html-ux-minskcss.netlify.app
Twitter: @alex_nozer
Telegram: @alexnozer

Алексей Назаренко, SpurIT