Вы не знаете HTML-таблицы. Фрэнк Тейлор выходит за пределы базовых понятий и разбирает терминологию таблиц, API Table Object Model, семантику заголовочных ячеек с атрибутами
https://blog.frankmtaylor.com/2026/03/05/you-dont-know-html-tables/
scope и headers, а также практические паттерны для создания доступных и хорошо структурированных таблиц с <thead>, <tbody>, <tfoot> и хелперами на JavaScript. #html #a11yhttps://blog.frankmtaylor.com/2026/03/05/you-dont-know-html-tables/
👍29❤10🔥10
Неожиданные кастомные селекты. Патрик Броссет создаёт три креативные демки с новым кастомизируемым элементом
https://css-tricks.com/abusing-customizable-selects/
<select>: изогнутую стопку папок с CSS-трансформациями и sibling-index(), веер игральных карт с anchor positioning и круговой эмодзи-пикер на тригонометрических функциях CSS. Все демки сохраняют доступность и адекватно деградируют в неподдерживающих браузерах. #css #htmlhttps://css-tricks.com/abusing-customizable-selects/
🔥28👍11❤7
Кастомные элементы с поддержкой форм на практике. Роб Левин делится опытом добавления поддержки Form-Associated Custom Element в библиотеку AgnosticUI с помощью ElementInternals API. Статья описывает две стратегии валидации: делегирование нативным элементам формы и реализацию валидации напрямую, с пошаговыми примерами для input, radio и combobox, включая проблемы изоляции Shadow DOM. #webcomponents #html
https://frontendmasters.com/blog/form-associated-custom-elements-in-practice/
https://frontendmasters.com/blog/form-associated-custom-elements-in-practice/
👍13🔥4❤1
Squarespace и веб-стандарты: как мы помогли добавить ленивую загрузку видео и аудио в HTML. Скотт Джел рассказывает, как инженеры Squarespace предложили
https://engineering.squarespace.com/blog/2026/squarespace-and-web-standards-how-we-helped-bring-html-video-and-audio-lazy-loading-to-todays-browsers
loading="lazy" для элементов <video> и <audio>, работали с WHATWG, написали Web Platform Tests и сотрудничали с командами Mozilla, Apple и Chromium, чтобы фича стала официальным стандартом 23 марта 2026 года. #html #performancehttps://engineering.squarespace.com/blog/2026/squarespace-and-web-standards-how-we-helped-bring-html-video-and-audio-lazy-loading-to-todays-browsers
🔥43👍12❤1
Как сделать так, чтобы вашей статьёй делились: советы из десяти лет курирования рассылки. Скотт Вандехей, который более десяти лет собирал фронтенд-ссылки, делится практическими советами: добавляйте Open Graph теги, используйте уникальное изображение для шеринга, пишите описательные заголовки, добавляйте краткую аннотацию, правильно настраивайте канонический URL и всегда указывайте дату публикации. #html #learn
https://cloudfour.com/thinks/getting-your-article-shared-tips-from-ten-years-of-newsletter-curation/
https://cloudfour.com/thinks/getting-your-article-shared-tips-from-ten-years-of-newsletter-curation/
❤20👍12
Полностью локальные встраиваемые примеры кода. Александр Овганнисян создал веб-компонент, который рендерит изолированные песочницы для кода через
https://www.aleksandrhovhannisyan.com/blog/local-code-embeds/
<iframe srcdoc> без сторонних сервисов вроде CodePen или CodeSandbox. Компонент берёт HTML, CSS и JavaScript из элемента <template> и создаёт полностью локальный изолированный превью. Работает везде, где поддерживаются HTML и JavaScript, и не имеет зависимостей. #html #jshttps://www.aleksandrhovhannisyan.com/blog/local-code-embeds/
🔥47👍8❤4
Конец адаптивных изображений. Мэт Маркиз, бывший председатель Responsive Image Community Group, оглядывается на десять лет борьбы с атрибутом
https://piccalil.li/blog/the-end-of-responsive-images/
sizes и рассказывает, как sizes="auto" вместе с loading="lazy" наконец передают эту работу браузеру для большинства картинок. Поддержка уже есть в Firefox, Safari и Chrome, а длинные значения sizes можно оставлять только для картинок в первом экране. #html #performancehttps://piccalil.li/blog/the-end-of-responsive-images/
❤30🔥12
В интернете снова весело: первые эксперименты с HTML в <canvas>. Амит Шин разбирает экспериментальный API Canvas Draw Element за флагом в Chrome 146, который рисует нативный HTML на
https://frontendmasters.com/blog/the-web-is-fun-again-first-experiments-with-html-in-canvas/
<canvas>, сохраняя семантику, формы и взаимодействие. С помощью атрибута layoutsubtree и drawElementImage() он показывает синхронизацию трансформаций, манипуляции пикселями для эффектов цвета и искажений, отклик на движение мыши и WebGL-шейдеры. #html #apihttps://frontendmasters.com/blog/the-web-is-fun-again-first-experiments-with-html-in-canvas/
🔥34👍9❤3
HTML Sanitizer API. Ахмад Альфи рассказывает о новом браузерном API для защиты от XSS без DOMPurify. Безопасные методы
https://alfy.blog/2026/05/07/html-sanitizer-api.html
setHTML и parseHTML всегда удаляют опасное содержимое, а setHTMLUnsafe и parseHTMLUnsafe уважают ваши настройки. Списки разрешённых и запрещённых элементов и атрибутов дают гибкий контроль. Подходит для комментариев, WYSIWYG-редакторов и предпросмотра Markdown, но серверная санитизация по-прежнему обязательна. #security #htmlhttps://alfy.blog/2026/05/07/html-sanitizer-api.html
👍32🔥9❤4
Декларативные частичные обновления HTML. Барри Поллард и Ноам Розенталь представляют две идеи для веб-платформы: инструкции обработки
https://developer.chrome.com/blog/declarative-partial-updates
<?marker> и <?start>/<?end> в паре с <template> позволяют серверу вставлять HTML в нужные места документа без последовательной доставки. Новые JS-методы setHTML(), appendHTML() и streamHTML() дают единообразное API для частичных обновлений. Полифилы есть на npm. #html #apihttps://developer.chrome.com/blog/declarative-partial-updates
🔥21👍8❤3
Спецификация для веб-сайтов. Йост де Валк опубликовал универсальную спецификацию технических возможностей, которыми должен обладать качественный сайт. Документ охватывает основы и семантический HTML, SEO и структурированные данные, доступность, безопасность и CSP, производительность и Core Web Vitals, интернационализацию, а также готовность к агентам через Markdown-эндпоинты, JSON-LD и RSS. #html #a11y
https://specification.website
https://specification.website
🔥28👍7
Контекстно-зависимые заголовки в HTML. Мануэль Матузович рассказывает про
https://www.matuzo.at/blog/2026/content-aware-headings
headingoffset — новый HTML-атрибут, который сдвигает уровни вложенных заголовков в дереве доступности, не меняя самих тегов. Заворачиваем секцию в headingoffset="1", и <h1> внутри становятся <h2> для скринридеров. Атрибут headingreset позволяет отключить эффект. Особенно полезно для веб-компонентов, рендерящих заголовки в Shadow DOM. Доступно в Firefox Nightly за флагом. #html #a11yhttps://www.matuzo.at/blog/2026/content-aware-headings
❤9🔥3👍1
A11y.quest: 128 вопросов, чтобы прокачать навыки доступности. Дэйв Дэвис сделал интерактивный тест, проверяющий знания по семантическому HTML, ARIA и другим темам. Вопросы отсортированы по сложности, их можно перемешивать и отслеживать точность ответов и серии. #a11y #html
https://a11y.quest/
https://a11y.quest/
🔥22❤5👍5
HTML-бойлерплейт 2026 года. Мануэль Матузович разбирает каждую строку в
https://www.matuzo.at/blog/2026/html-boilerplate
<head> и объясняет, зачем она нужна: кодировка перед заголовком, вьюпорт, Open Graph и отдельная таблица стилей для печати. В этом году добавились метаэлемент text-scale для системного размера текста на мобильных, SVG-фавиконка с поддержкой тёмной темы, ссылка на маркдаун-версию страницы для LLM и fediverse:creator для атрибуции в Mastodon. #html #learnhttps://www.matuzo.at/blog/2026/html-boilerplate
👍30❤5
Знакомимся с HTML-элементом <geolocation>. Даниэль Шварц разбирает новый элемент из Chrome 144, который заменяет Geolocation API разметкой:
https://piccalil.li/blog/a-look-at-the-geolocation-html-element-and-how-it-works/
autolocate переиспользует ранее выданное разрешение, watch следит за перемещением, а onlocation обрабатывает результат. Таймауты браузер берёт на себя. Псевдокласс :granted стилизует кнопку, isValid и invalidReason сообщают о проблемах, а строгие правила стилизации защищают от перехвата кликов. #html #chromehttps://piccalil.li/blog/a-look-at-the-geolocation-html-element-and-how-it-works/
❤16👍7🎉1
Ну и ладно, напишу свой текстовый редактор! Дэвид Бушелл пробует три способа собрать редактор в браузере и показывает, чем приходится жертвовать. Канвас даёт полный контроль, но лишает выделения текста, истории отмен и вставки нескольких строк. Атрибут
https://dbushell.com/2026/09/01/text-editor/
contenteditable с плейн-текстом возвращает нативное редактирование и доступность, но тормозит после определённого числа символов. Быстрее всех оказался обычный <textarea> с подсветкой синтаксиса поверх. #html #performancehttps://dbushell.com/2026/09/01/text-editor/
🔥28👍4❤1
В HTML больше не нужен initial-scale. Деклан Чидлоу и Питер-Пол Кох с разницей в несколько часов пришли к одному выводу: в
https://vale.rocks/micros/20260902-1350
https://quirksmode.org/quirksblog/2026/0902-initial.html
<meta name="viewport"> достаточно width=device-width. Часть initial-scale=1 добавляли, чтобы починить зум в старых версиях iOS, а Safari теперь и без неё правильно пересчитывает вьюпорт при смене ориентации. Минус 19 байт в каждом документе. #html #browserhttps://vale.rocks/micros/20260902-1350
https://quirksmode.org/quirksblog/2026/0902-initial.html
🎉37👍8🔥3
Адаптивные iframe в Chrome 154. Себастьян Бенц и Брамус Ван Дамм рассказывают о свойстве
https://developer.chrome.com/blog/responsive-iframes
frame-sizing: встроенный фрейм сам растёт под свой контент, без передачи высоты через postMessage. Встраивающая страница задаёт frame-sizing: content-height, а встроенный документ разрешает это элементом <meta>, где можно ограничить список источников. После изменения контента новый замер запрашивают через window.requestResize(). Пока за флагами в Chrome и Edge. #html #csshttps://developer.chrome.com/blog/responsive-iframes
👍25❤4
Безопасный рендеринг комментариев в Markdown: setHTML(), DOMPurify и Trusted Types. Агустин Барриентос показывает, как marked.js сохраняет сырой HTML в комментариях и почему фраза «мы санитизируем» мало что значит, когда настройки библиотек по умолчанию так различаются. Он описывает один явный список разрешённого в формате
https://agustinbarrientos.com/writing/senior-eye/rendering-markdown-comments-safely/
SanitizerConfig, применяет его через setHTML(), а где его нет — через DOMPurify, а Trusted Types не даёт обойти защиту через innerHTML. #security #htmlhttps://agustinbarrientos.com/writing/senior-eye/rendering-markdown-comments-safely/
❤13🔥2👍1
Фреймы, которые наконец подстраиваются под контент. Ахмад Альфи показывает, как
https://alfy.blog/2026/10/09/iframe-that-finally-fit-their-content.html
frame-sizing: content-height в Chromium подгоняет <iframe> под содержимое без postMessage. Встроенная страница разрешает это мета-элементом responsive-embedded-sizing прямо в HTML, а после изменений вызывает window.requestResize(). В других браузерах пригодятся @supports и фолбек на postMessage. #html #csshttps://alfy.blog/2026/10/09/iframe-that-finally-fit-their-content.html
👍21🎉7🔥4