SVGInject: внедряйте SVG inline в DOM без сборки
Небольшая библиотека заменяет img на inline svg, чтобы стилизовать любые path, circle и group через CSS, включая анимации и темную тему. Поддерживает кэширование, предотвращает конфликты ID и автоматически улучшает доступность через ARIA.
https://github.com/iconfu/svg-inject
Небольшая библиотека заменяет img на inline svg, чтобы стилизовать любые path, circle и group через CSS, включая анимации и темную тему. Поддерживает кэширование, предотвращает конфликты ID и автоматически улучшает доступность через ARIA.
https://github.com/iconfu/svg-inject
GitHub
GitHub - iconfu/svg-inject: A tiny, intuitive, robust, caching solution for injecting SVG files inline into the DOM.
A tiny, intuitive, robust, caching solution for injecting SVG files inline into the DOM. - iconfu/svg-inject
👍9❤2🤡2🔥1
7 рецептов для View Transitions в CSS
Собрали готовые шаблоны анимаций для плавных переходов между страницами: от простого dissolve до более выразительных эффектов. Подходит как для практики, так и для быстрого внедрения в веб приложения с учетом prefers-reduced-motion.
https://css-tricks.com/7-view-transitions-recipes-to-try/
Собрали готовые шаблоны анимаций для плавных переходов между страницами: от простого dissolve до более выразительных эффектов. Подходит как для практики, так и для быстрого внедрения в веб приложения с учетом prefers-reduced-motion.
https://css-tricks.com/7-view-transitions-recipes-to-try/
🔥12❤3👍1
Что знать в JavaScript к 2026 году
Обновления ECMAScript 2025, ленивые Iterator Helpers для экономии памяти, методы для Set и RegExp.escape для безопасной сборки регулярных выражений из пользовательского ввода. В фокусе не только язык, но и то, как это применять в рантаймах, фреймворках, библиотеках и туллинге.
https://frontendmasters.com/blog/what-to-know-in-javascript-2026-edition/
Обновления ECMAScript 2025, ленивые Iterator Helpers для экономии памяти, методы для Set и RegExp.escape для безопасной сборки регулярных выражений из пользовательского ввода. В фокусе не только язык, но и то, как это применять в рантаймах, фреймворках, библиотеках и туллинге.
https://frontendmasters.com/blog/what-to-know-in-javascript-2026-edition/
👍8❤3
Делаем эмодзи и иконки доступными для скринридеров
Эмодзи и иконки в коде часто не являются настоящими изображениями, поэтому скринридер читает их буквальные названия или не находит текста. Добавляйте текстовые альтернативы, подписывайте icon-only элементы и контролируйте, чтобы смысл не терялся без визуального контекста.
https://blog.pope.tech/2026/04/01/making-emojis-and-icons-screen-reader-accessible/
Эмодзи и иконки в коде часто не являются настоящими изображениями, поэтому скринридер читает их буквальные названия или не находит текста. Добавляйте текстовые альтернативы, подписывайте icon-only элементы и контролируйте, чтобы смысл не терялся без визуального контекста.
https://blog.pope.tech/2026/04/01/making-emojis-and-icons-screen-reader-accessible/
❤5👍3🔥1
Безопасная загрузка файлов в Node.js
Решение для защиты загрузки файлов в бэкенде: валидация, ограничения и снижение рисков вроде вредоносного контента и переполнений. Подходит для веб приложений, где важны надежность и контроль входящих данных.
github.com/pompelmi/pompelmi
Решение для защиты загрузки файлов в бэкенде: валидация, ограничения и снижение рисков вроде вредоносного контента и переполнений. Подходит для веб приложений, где важны надежность и контроль входящих данных.
github.com/pompelmi/pompelmi
GitHub
GitHub - pompelmi/pompelmi: ClamAV antivirus scanning for Node.js — scan file uploads with a single function call. Zero dependencies.…
ClamAV antivirus scanning for Node.js — scan file uploads with a single function call. Zero dependencies. Typed Symbol verdicts. Local or Docker/clamd. - pompelmi/pompelmi
👍11❤2
Формы в Angular: от Reactive Forms к Signal Forms
Signal Forms в Angular v21 дают новый способ управления состоянием формы через сигналы, уменьшая шаблонную и компонентную разрозненность. Разберем, как мигрировать подход от FormGroup и FormArray к более предсказуемой модели и что это меняет в валидации и работе с динамическими полями.
https://habr.com/ru/companies/domclick/articles/1018180
Signal Forms в Angular v21 дают новый способ управления состоянием формы через сигналы, уменьшая шаблонную и компонентную разрозненность. Разберем, как мигрировать подход от FormGroup и FormArray к более предсказуемой модели и что это меняет в валидации и работе с динамическими полями.
https://habr.com/ru/companies/domclick/articles/1018180
👍8❤2⚡1
Чем заменить !important в CSS
Каскадные слои, грамотный порядок подключений, трюки с селекторами и работа с специфичностью помогают убрать !important и вернуть предсказуемость стилей в больших проектах.
https://css-tricks.com/alternatives-to-the-important-keyword/
Каскадные слои, грамотный порядок подключений, трюки с селекторами и работа с специфичностью помогают убрать !important и вернуть предсказуемость стилей в больших проектах.
https://css-tricks.com/alternatives-to-the-important-keyword/
👍6❤3🔥1
CSS subgrid для выравнивания контента из CMS без костылей
Subgrid позволяет наследовать сетку родителя и легко расширять фон и блоки на всю ширину или возвращать их обратно в основной столбец, сохраняя точное выравнивание текста. Это упрощает сложные макеты с вложенными блоками и делает верстку предсказуемой.
https://dbushell.com/2026/04/02/css-subgrid-is-super-good/
Subgrid позволяет наследовать сетку родителя и легко расширять фон и блоки на всю ширину или возвращать их обратно в основной столбец, сохраняя точное выравнивание текста. Это упрощает сложные макеты с вложенными блоками и делает верстку предсказуемой.
https://dbushell.com/2026/04/02/css-subgrid-is-super-good/
👍6⚡1
SSGOI: нативные переходы между страницами
SSGOI добавляет плавные переходы с поддержкой React, Next, Vue, Nuxt, Svelte и Angular, работая с любым роутингом. Есть готовые типы переходов и быстрая настройка через обёртки вокруг layout и страниц.
https://github.com/meursyphus/ssgoi
SSGOI добавляет плавные переходы с поддержкой React, Next, Vue, Nuxt, Svelte и Angular, работая с любым роутингом. Есть готовые типы переходов и быстрая настройка через обёртки вокруг layout и страниц.
https://github.com/meursyphus/ssgoi
1😁8👍7🥴1😐1
HTML в canvas: рисуем и компонуем DOM с доступностью
Предложение к использованию <canvas>, которое добавляет примитивы для layoutsubtree, drawElementImage и paint event, чтобы корректно рендерить дочерние HTML элементы в 2D и 3D canvas с согласованным fallback и hit testing. Идея закрывает боль с качеством, доступностью и экспортом контента, а также открывает путь к эффектам через WebGL/WebGPU.
https://github.com/WICG/html-in-canvas
Предложение к использованию <canvas>, которое добавляет примитивы для layoutsubtree, drawElementImage и paint event, чтобы корректно рендерить дочерние HTML элементы в 2D и 3D canvas с согласованным fallback и hit testing. Идея закрывает боль с качеством, доступностью и экспортом контента, а также открывает путь к эффектам через WebGL/WebGPU.
https://github.com/WICG/html-in-canvas
GitHub
GitHub - WICG/html-in-canvas
Contribute to WICG/html-in-canvas development by creating an account on GitHub.
👍7❤2👎2⚡1🤔1🤨1
Создаем 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/
👍11
Автогенерация 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
👍15🔥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
👍2❤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/
❤5👍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
👍22🤔3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Митапы — это, конечно, круто и полезно. Но что может быть лучше открытой дискуссии с коллегами о наболевшем? ☑️
AvitoTech тут зовёт на классный ивент для фронтендеров. Обещают полтора часа дискуссий на самые разные темы: от роста фронтенд-инженера в тимлида до ванильного JS. И вишенка на торте — афтерпати на веранде ☄️
Всё пройдёт вечером 19 мая, так что погода не должна подкачать. Регистрация, кстати, по ссылке.
AvitoTech тут зовёт на классный ивент для фронтендеров. Обещают полтора часа дискуссий на самые разные темы: от роста фронтенд-инженера в тимлида до ванильного JS. И вишенка на торте — афтерпати на веранде ☄️
Всё пройдёт вечером 19 мая, так что погода не должна подкачать. Регистрация, кстати, по ссылке.
👍4
Ленивая загрузка видео и аудио в 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
👍6❤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/
👍6
WebSocket и SSE просто для собеседований и не только
Разбираем, чем отличаются двусторонний WebSocket и однонаправленный SSE, как устроены их рукопожатия и как правильно открывать соединения в браузере. Коротко разложено по событиям, отправке данных и обработке обрывов, чтобы уверенно отвечать на вопросы на интервью.
https://habr.com/ru/articles/1021414/
Разбираем, чем отличаются двусторонний WebSocket и однонаправленный SSE, как устроены их рукопожатия и как правильно открывать соединения в браузере. Коротко разложено по событиям, отправке данных и обработке обрывов, чтобы уверенно отвечать на вопросы на интервью.
https://habr.com/ru/articles/1021414/
❤13👍2🤣1
Компонентная библиотека под ваш проект
Доступные компоненты для Astro и Tailwind CSS, которые добавляются через CLI и остаются под вашим контролем. Быстрый старт с npx bearnie init и дальнейшая настройка, расширение и сборка своей библиотеки.
https://bearnie.dev/
Доступные компоненты для Astro и Tailwind CSS, которые добавляются через CLI и остаются под вашим контролем. Быстрый старт с npx bearnie init и дальнейшая настройка, расширение и сборка своей библиотеки.
https://bearnie.dev/
👍5❤2👎2🔥2