Обновить
61.51

HTML *

Стандартный язык разметки web-страниц

Сначала показывать
Порог рейтинга
Уровень сложности

Tailwind vs BEM — 2 (архитектура)

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели5.5K

Статья рассматривает возможные задачи верстки на разных проектах и как с ними справляются две разные архитектуры: Tailwind CSS и ванильный CSS + BEM.

Читать далее

Tailwind vs BEM — 1 (сравнение производительности)

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.3K

В этих двух статьях я буду сравнивать TailwindCSS с чистым CSS + BEM. Цель - разобраться что является лучшим решением для хорошей архитектуры приложения. Это не вопрос предпочтений, от этого выбора будет зависеть очень многое на поздних этапах разработки и оно должно быть очень хорошо обосновано. Начну со сравнения производительности. Tailwind позволяет значительно уменьшить размер итогового CSS и тем самым ускорить время отображения страницы. Но это сработает только в том случае, если Tailwind классы будут написаны прямо в HTML коде, а не в виде @apply в CSS. Tailwind уменьшает CSS, но увеличивает HTML. Давайте посчитаем разницу с учетом HTML. Будем сравнивать чистый Tailwind с чистым CSS + BEM.

Читать далее

Сокровища HTML: 7 тегов, которые упростят вам жизнь

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели27K

Все мы знакомы с широко используемыми HTML тегами, такими как <div>, <p>, <a>, и <img>. Однако, существуют HTML - теги, которые могут упростить жизнь, и вместо написания дополнительного кода, выполнят всю работу :)

Читать далее

Один маленький tap для SMS OTP, но гигантский скачок для всего человечества

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели4.5K

Привет Habr!

Не так давно застал себя врасплох, когда заполнял очередную web-форму, на которой надо было вводить код SMS руками посимвольно! Мелочь, но раздражает. Особенно, когда понимаешь, что современные обозреватели сами проделают всю работу – просто удели немного времени и пользователи не будут испытывать не нужный негатив.

Почему до сих пор хватает ресурсов на просторах рунета, где подобные вещи надо исполнять не в один “tap”? (речь про мобильные сайты)

Свято верю в то, что наш коллективный разум найдет-таки возможность достучаться до тех, кто еще не встал на путь истинный по данному вопросу. Возможно, это ваш сосед по лестничной клетке, или коллега из соседнего департамента, который заведует web-формой, которой пора уже выйти на “новый уровень” ?. Я и у себя в “хозяйстве” нашел подобное. Чего греха таить? – исправляемся.

Давайте по классике - лучше один раз увидеть. На скринах ниже показал несколько наглядных примеров из жизни о том, как браузеры могут отобразить на экранной клавиатуре код из SMS – нажми на него один раз и о чудо, весь код оказывается в нужном месте в нужное время. Уровень напряга 0%.

Читать далее

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 3

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.7K


Хабр, я уже третий месяц пишу про доступность вместе с Ильёй. Мы показываем, как HTML и CSS могут улучшить или ухудшить её. Напоминаю, что Илья — мой незрячий знакомый, который помогает мне найти наши косяки в вёрстке.


Сегодня уже будет не только HTML и CSS. В некоторых кейсах мы будем использовать ARIA-атрибуты. Я расскажу:

  • как мы незаметно потеряли пользу элементов <section> и <form>;
  • как атрибут tabindex запутывает незрячего пользователя;
  • почему визуально скрытые элементы — проблема современных интерфейсов;
  • что делать с паттерном «Звёздочка» для обязательных полей.

Давайте начнём!

Читать дальше →

Какие неочевидные темы вспомнить перед собеседованием на Frontend разработчика

Время на прочтение4 мин
Охват и читатели33K

С каждым годом собеседования становятся все сложнее и сложнее, а количество вопросов, которые могут спросить, не укладывается в голове.

Именно поэтому я решил создать небольшой чеклист, в котором собрал темы, по которым задавали вопросы либо мне, либо моим друзьям задавали на собеседованиях на Frontend разработчика. Эти темы почти не попадаются в стандартных списках по подготовке к собеседованиям, поэтому я решил сделать свой.

Приложу ссылочки ко всем топикам, про которые буду рассказывать, так что вы сможете полистать их за день перед собеседованием и освежить в памяти знания. Даже если вы не готовитесь к собеседованиям, вы можете пробежаться по ним, и попытаться найти что-то интересное для себя.

Ну что, поехали!

Читать далее

Что нового в Chrome 119?

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели6.9K

Начиная с Chrome 104 для вновь созданных или обновленных файлов cookie с указанием даты истечения срока действия действует ограничение - не более 400 дней. Теперь это ограничение будет применено к уже хранящимся файлам cookie задним числом.

После первого запуска Chrome 119+ и однократного переноса базы данных срок действия этих файлов будет ограничен до 400 дней. Влияние этого изменения пользователи смогут ощутить не ранее чем через 400 дней после выхода Chrome 119, и то только для существующих файлов cookie, которые не были обновлены за это время.

Более подробно о рекомендации по срокам действия можно прочитать здесь, а сейчас - дружеское напоминание о том, что в ближайшем будущем сторонние файлы cookie будут устаревшими, и руководство по подготовке к этому.

Читать далее

HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 2

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели8.2K

Я продолжаю рассказывать, как HTML и CSS могут улучшить или ухудшить доступность интерфейсов. В своём рассказе я использую свой опыт и моего незрячего знакомого Ильи.


В этой статье будет: атрибут autofocus и его нюансы, паттерн «Skip-link» и идея Ильи об использовании его на практике, проблема использования одинаковых ссылок для одной новости, что не так с кнопкой «Наверх» и как вы спрятали список от скринридеров.


Давайте начнём!

Читать дальше →

Чем отличается синтетическое событие клика от обычного в javascript фреймворках?

Уровень сложностиСложный
Время на прочтение3 мин
Охват и читатели7.9K

Сегодня, стало более ли менее стандартом использование синтетических событий в современных js фреймворках, нежели обычный addEventListener. Но, как же работают эти события? В данной статье, я постараюсь на примере Cample.js версии 3.2.0-beta.1 рассказать об этом.

Читать далее

Как я использовал тематическое разделение доступа для создания веб-приложения

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели3.1K

В этой статье я хочу поделиться своим опытом использования тематического разделения доступа (ТРД) для создания веб-приложения, которое позволяет пользователям обмениваться сообщениями по разным темам. ТРД — это метод управления доступом, при котором права доступа субъектов системы на объекты группируются с учётом специфики их применения, образуя роли¹. Например, в моём приложении есть роли администратора, модератора, автора и читателя. Каждая роль имеет свой набор прав на разные действия, такие как создание, редактирование, удаление и просмотр сообщений.

Читать далее

Классификация и идентификация элементов в HTML и CSS и немного о БЭМ для самых маленьких

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели23K

Классификация и идентификация элементов в HTML и CSS и немного о БЭМ.

Основные концепции работы с классами и идентификаторами, а также как применять методологию БЭМ на практике.

Читать далее

Вышел Chrome 118

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели6K

CSS @scope.

Правило @scope at-rule позволяет разработчикам распространять правила стилей на заданный корень описания и стилизовать элементы в соответствии с близостью к этому корню.

С помощью @scope можно отменять стили, основанные на близости, что отличается от обычных стилей CSS, которые применяются только на основе порядка и специфики источника. В следующем примере имеется две темы.

Читать далее

Прокачиваем вёрстку ARIA атрибутами. Атрибут aria-label

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели16K


Cегодня я хочу рассказать про атрибут aria-label. В статье не будет заумных определений и бездумного копирования стандарта. Я хотел простым языком объяснить, какая польза от атрибута, а также передать свой практический опыт, чтобы вы могли его повторить. А получилось у меня или нет, решать вам.


Со вступительным словом всё. Давайте начнём!

Читать дальше →

Ближайшие события

От нуля до фронтендера (о своем пути простыми словами)

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели14K

Знаете, чтобы стать программистом с нуля, нужно достаточно много времени, чтобы переучиться при переходе в эту сферу из другой профессии. Могу, так сказать, ответить за свой базар на личном опыте. К примеру, возьмем область фронтенд разработки – создания визуальных интерфейсов для сайтов и приложений в интернете.

Какой порог входа? Сначала допустим, что вы как минимум умеете пользоваться компьютером и заходить в интернет. Для начала, вам желательно знать английский: все термины будут именно на этом языке. А все что на русском – скорее всего калька или перевод тех же самых английских терминов. Почему английских? Да просто потому, что большинство создателей языков программирования – англоговорящие люди, которые сразу ориентируются на глобальный рынок. А всемирную паутину так вообще изобрел британец. Да, есть конечно и языки программирования на русском, китайском и других языках – но на их долю приходится весьма скудная часть рынка.

Теперь перейдем к основам. Вам понадобится язык гипертекстовой разметки HTML, чтобы создавать веб-страницы и их элементы. Он насчитывает около 100 тегов – названий элементов в угловых скобках, а также бесчисленное множество атрибутов для них. Однако, в этом языке нет логики программирования: циклов, условий, переменных и тому подобного. Поэтому освоить правила HTML не так сложно, как может показаться на первый взгляд. Но не стоит забывать про особенности последней версии языка (на данный момент – это HTML5). Нужно всегда быть в курсе последних нововведений: плагин Emmet и шаблонизатор Pug позволяют писать HTML код в сокращенном виде, ускоряя процесс разработки.

Читать далее

Как декораторы могут упростить разработку веб-форм

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели6.8K

Относительно недавно в TC39 предложение с реализацией декораторов в EcmaScript вышло на 3-ю пред финальную стадию. Чуть позже MicroSoft выпустил 5-ю мажорную версию TypeScript, в которой новая реализация декораторов начала работать из коробки без каких-либо экспериментальных флагов. Babel тоже подсуетился, и в своей документации начал рекомендовать использовать новую реализацию декораторов. А это означает лишь то, что декораторы наконец-то начали полноценно входить в жизнь JavaScript разработчиков.

И на волне этого хайпа я решил рассказать, как, используя декораторы, можно улучшить ваш Developer Experience при разработке форм.

Важное упоминание. В статье я буду писать о подходе, использующем библиотеку MobX. Так что если вы в своих проектах ее не используете, статья может быть не так полезна. Но вы можете рассматривать ее, как возможный источник вдохновения по тому, как можно разрабатывать формы.

Читать далее

Фонетический словарь. Пет-проект в полезное приложение

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели3.4K

У меня есть хобби — изучение английского языка, и последнее время я увлекся фонетикой британского английского языка, но почти все словари дают транскрипцию «‎Королевского английского», на котором говорят, по данным Гугла, около 3 процентов жителей Соединённого Королевства. А найденный в интернете словарь http://www.cubedictionary.org/ хоть и дает нужную мне транскрипцию, но имеет ряд недостатков.

Читать далее

Web Accessibility в рассказе «A11Y от 0 до NaN»

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели5.4K

Данной статьёй я планирую рассказать про интересные случаи и про то, в каких ситуациях можно оказаться, постигая новые горизонты, но не собираюсь даже пытаться заменить справочники по aria-атрибутам и эталонным примерам доступных компонентов. Стандарт W3C полон полезной информации, которая сдержанно подает только нужное. Я же предостерегу вас от некоторых сомнительных решений, с которыми вы можете столкнуться, и постараюсь приблизить задачу доступности к стандарту, коим для нас сейчас является покрытие тестами и использование анализаторов кода.

Итак, приступим

Создаем мини-игру с капельным эффектом и движущимися кружками. Часть 2. Финал

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.5K

Привет, дорогие пользователи мира IT!

В современной веб-разработке существует множество способов сделать ваш сайт интересным и привлекательным для пользователей. И даже используя простые техники можно добиться высоких результатов!

Предлагаю вам самим создать мини-игру с нуля. И затем, вы сможете использовать её, чтобы оживить и добавить интерактивность любой веб-странице.

Читать дальше →

Очередной ответ на вопрос: «Зачем нужна семантика?»

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6K

Этот вопрос преследует меня всю мою карьеру, начиная с 2013 года. Одни разработчики отвечают, потому что так правильно. Другие говорят про SEO. Третьи — ничего не говорят. А я считаю, что атрибут role является отличным ответом на этот вопрос!

Читать дальше →

Advanced Custom Fields: Полное руководство

Уровень сложностиПростой
Время на прочтение21 мин
Охват и читатели34K

Исчерпывающее руководство: особенности, пошаговая установка и обзор пользовательского интерфейса. Узнайте основные термины и типы полей, а также откройте для себя мощные дополнения.

Читать далее