Создаем WCAG доступный DatePicker в React
Разбираем, как собрать DatePicker по паттерну WAI-ARIA APG Date Picker Dialog: корректные роли и aria, roving tabindex, фокус ловушка, полная клавиатурная навигация и календарная сетка. Плюс практичные требования WCAG 2.1/2.2 Level AA, контрастность и обработка disabled дат без лишних зависимостей.
https://habr.com/ru/articles/1022918/
Разбираем, как собрать DatePicker по паттерну WAI-ARIA APG Date Picker Dialog: корректные роли и aria, roving tabindex, фокус ловушка, полная клавиатурная навигация и календарная сетка. Плюс практичные требования WCAG 2.1/2.2 Level AA, контрастность и обработка disabled дат без лишних зависимостей.
https://habr.com/ru/articles/1022918/
👍12
Автогенерация skeleton экранов из реального UI
Boneyard автоматически снимает разметку и генерирует pixel-perfect скелеты без ручных замеров и подгонок, поддерживает React, Vue, Svelte 5, Angular, Preact и React Native. Используйте CLI или Vite plugin, а затем подключайте registry для быстрых и консистентных загрузочных состояний.
https://github.com/0xGF/boneyard
Boneyard автоматически снимает разметку и генерирует pixel-perfect скелеты без ручных замеров и подгонок, поддерживает React, Vue, Svelte 5, Angular, Preact и React Native. Используйте CLI или Vite plugin, а затем подключайте registry для быстрых и консистентных загрузочных состояний.
https://github.com/0xGF/boneyard
👍17🔥8❤🔥2❤1
Скринридеры это не тестовый инструмент для проверки WCAG
Скринридеры помогают понять опыт пользователя, но из за особенностей навигации и имитации кликов они могут скрывать проблемы и давать ложное ощущение готовности. Для аудита WCAG используйте их как часть проверки, а не как единственный инструмент, и не перегружайте интерфейс избыточными подсказками.
https://yatil.net/blog/screen-readers-are-not-testing-tools
Скринридеры помогают понять опыт пользователя, но из за особенностей навигации и имитации кликов они могут скрывать проблемы и давать ложное ощущение готовности. Для аудита WCAG используйте их как часть проверки, а не как единственный инструмент, и не перегружайте интерфейс избыточными подсказками.
https://yatil.net/blog/screen-readers-are-not-testing-tools
👍4❤1
Baseline март 2026: 12 браузерных фич, которые уже можно брать в прод
В марте 2026 появилось много Widely available возможностей, включая Clear-Site-Data для управляемого сброса кэша и хранилищ, а также новые CSS и WebAPI.
https://habr.com/ru/articles/1018200/
В марте 2026 появилось много Widely available возможностей, включая Clear-Site-Data для управляемого сброса кэша и хранилищ, а также новые CSS и WebAPI.
https://habr.com/ru/articles/1018200/
❤7👍2
Google начнет наказывать за back button hijacking
С 15 июня 2026 сайты, которые перехватывают кнопку назад и ломают ожидаемую навигацию, попадут под спам-действия или автоматические понижения в выдаче. Проверьте скрипты, библиотеки и рекламные интеграции, которые могут подменять историю браузера и отправлять пользователя на непосещенные или навязанные страницы.
https://developers.google.com/search/blog/2026/04/back-button-hijacking
С 15 июня 2026 сайты, которые перехватывают кнопку назад и ломают ожидаемую навигацию, попадут под спам-действия или автоматические понижения в выдаче. Проверьте скрипты, библиотеки и рекламные интеграции, которые могут подменять историю браузера и отправлять пользователя на непосещенные или навязанные страницы.
https://developers.google.com/search/blog/2026/04/back-button-hijacking
👍24🤔3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Митапы — это, конечно, круто и полезно. Но что может быть лучше открытой дискуссии с коллегами о наболевшем? ☑️
AvitoTech тут зовёт на классный ивент для фронтендеров. Обещают полтора часа дискуссий на самые разные темы: от роста фронтенд-инженера в тимлида до ванильного JS. И вишенка на торте — афтерпати на веранде ☄️
Всё пройдёт вечером 19 мая, так что погода не должна подкачать. Регистрация, кстати, по ссылке.
AvitoTech тут зовёт на классный ивент для фронтендеров. Обещают полтора часа дискуссий на самые разные темы: от роста фронтенд-инженера в тимлида до ванильного JS. И вишенка на торте — афтерпати на веранде ☄️
Всё пройдёт вечером 19 мая, так что погода не должна подкачать. Регистрация, кстати, по ссылке.
👍6
Ленивая загрузка видео и аудио в HTML уже стандарт
Ленивая загрузка в HTML для видео и аудио стала доступной через loading=lazy и помогает откладывать скачивание медиа до момента появления в вьюпорте. Разберем практики вроде poster, autoplay и сохранения размеров через width height или aspect-ratio, чтобы избежать layout shift и лишнего трафика.
https://engineering.squarespace.com/blog/2026/how-to-use-standard-html-video-and-audio-lazy-loading-on-the-web-today
Ленивая загрузка в HTML для видео и аудио стала доступной через loading=lazy и помогает откладывать скачивание медиа до момента появления в вьюпорте. Разберем практики вроде poster, autoplay и сохранения размеров через width height или aspect-ratio, чтобы избежать layout shift и лишнего трафика.
https://engineering.squarespace.com/blog/2026/how-to-use-standard-html-video-and-audio-lazy-loading-on-the-web-today
👍10❤4🔥2
Внутри нового фронтенда MDN
Пересобрали фронтенд MDN: упростили дизайн и переработали кодовую базу, чтобы уменьшить технический долг и улучшить поддержку интерактивных элементов без тяжелой клиентской логики. Разбираем архитектуру сборки из Markdown в JSON и SSR, а также причины отказа от React-обертки и проблем с CSS и поддерживаемостью.
https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/
Пересобрали фронтенд MDN: упростили дизайн и переработали кодовую базу, чтобы уменьшить технический долг и улучшить поддержку интерактивных элементов без тяжелой клиентской логики. Разбираем архитектуру сборки из Markdown в JSON и SSR, а также причины отказа от React-обертки и проблем с CSS и поддерживаемостью.
https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/
👍8
WebSocket и SSE просто для собеседований и не только
Разбираем, чем отличаются двусторонний WebSocket и однонаправленный SSE, как устроены их рукопожатия и как правильно открывать соединения в браузере. Коротко разложено по событиям, отправке данных и обработке обрывов, чтобы уверенно отвечать на вопросы на интервью.
https://habr.com/ru/articles/1021414/
Разбираем, чем отличаются двусторонний WebSocket и однонаправленный SSE, как устроены их рукопожатия и как правильно открывать соединения в браузере. Коротко разложено по событиям, отправке данных и обработке обрывов, чтобы уверенно отвечать на вопросы на интервью.
https://habr.com/ru/articles/1021414/
❤15👍2🤣1
Компонентная библиотека под ваш проект
Доступные компоненты для Astro и Tailwind CSS, которые добавляются через CLI и остаются под вашим контролем. Быстрый старт с npx bearnie init и дальнейшая настройка, расширение и сборка своей библиотеки.
https://bearnie.dev/
Доступные компоненты для Astro и Tailwind CSS, которые добавляются через CLI и остаются под вашим контролем. Быстрый старт с npx bearnie init и дальнейшая настройка, расширение и сборка своей библиотеки.
https://bearnie.dev/
👍7❤2👎2🔥2
33 ключевых концепта JavaScript для глубокого понимания
Пошаговый гайд по JavaScript core с примерами, диаграммами и проверками знаний: от scope и closures до event loop, async и DOM. Подходит для прокачки знаний и подготовки к интервью, плюс есть удобная документации.
https://33jsconcepts.com/
Пошаговый гайд по JavaScript core с примерами, диаграммами и проверками знаний: от scope и closures до event loop, async и DOM. Подходит для прокачки знаний и подготовки к интервью, плюс есть удобная документации.
https://33jsconcepts.com/
👍9❤5🥴2🔥1