HTML Can Do That 🔥 Горячее 💬 Длинная дискуссия
HTML всё больше заменяет функции, которые раньше требовали JavaScript. Сегодня можно реализовать всплывающие окна, диалоги, аккордеоны и автодополнение без единой строчки кода — достаточно современных атрибутов и элементов. Главное нововведение: popover позволяет создавать выезжающие панели с поддержкой закрытия по ESC и клику вне, а <dialog> делает возможным модальные окна через чистый HTML. Оба решения требуют внимания к доступности: например, использование popovertargetaction="hide" вместо ручного управления z-index.
Особенно стоит обратить внимание на группировку <details> через атрибут name — это простой способ сделать аккордеон без JS, где открытие одного пункта автоматически закрывает остальные. Также полезны <datalist> для нативного автодополнения и новые типы ввода (color, range, date), хотя их кросс-браузерная поддержка и доступность ещё требуют улучшений. Важно помнить: даже «без JavaScript» решения часто нуждаются в полифиллах или тщательной проверке на разных устройствах. Пробуйте эти фичи, но всегда ставьте пользователей на первое место.
Комментарии (189)
HTML теперь способен заменить JavaScript для многих интерактивных элементов, но практическое применение ограничено неполной поддержкой браузерами, сложностью позиционирования и необходимостью серверной валидации, что снижает готовность к полному переходу. Popover и dialog работают надёжно в продакшене благодаря автоматическому стекингу и каскадному закрытию — признак продуманности стандарта. Позиционирование контекстных меню относительно триггера остаётся сложным из-за ограниченной поддержки anchor positioning. Datalist не подходит для строгого контроля ввода: пользователь может ввести произвольный текст, а серверная валидация всё равно обязательна. Даже при использовании HTML-элементов клиентская валидация (например, цветовые подсказки) и серверная проверка остаются необходимы для надёжности. На textlog.cc всё, кроме Web Push, работает на чистом HTML — доказательство возможности создания сложных интерфейсов без JS. Правильно именованные поля в формах позволяют минимизировать JavaScript, делая отправку и валидацию на бэкенде простыми и надёжными. Элементы вроде <details> и name-атрибута могут заменить JS-аккордеоны, но их анимация и поведение при поиске (например, в Firefox) непредсказуемы. Внедрение новых HTML-функций усложняет мультибраузерную совместимость, особенно когда аналогичные решения существуют десятилетиями. Пользователи с NoScript в 2026 всё ещё полагаются на HTML-интерактивность: HTMX и новые элементы позволяют избегать JavaScript без потери функциональности. В мультиязычных системах даты в input[type=date] должны передаваться в ISO-формате — локальный формат ОС вызывает путаницу у администраторов. Многие JS-функции теперь реализуемы через HTML, но «можно» не значит «нужно». Некоторые считают popups и модальные окна устаревшим, раздражающим подходом, часто применяемым необоснованно, несмотря на техническую возможность.
Tags to make HTML work like you expect 🔥 Горячее 💬 Длинная дискуссия
Статья напоминает о четырех важных HTML-тегах, которые стоит включать для корректной работы веб-страниц. Без <!doctype html> браузеры могут переключиться в quirks mode, имитируя устаревшее поведение. Указание языка через <html lang="en"> помогает поисковикам и скринридерам правильно интерпретировать контент. Тег <meta charset="utf-8"> гарантирует корректное отображение специальных символов, таких как кавычки, эмодзи и нелатинские символы. Наконец, <meta name="viewport"> необходим для адаптивного дизайна, предотвращая крошечный текст на мобильных устройствах.
Эти простые теги решают распространенные проблемы с отображением и функциональностью веб-страниц. Автор подчеркивает, что даже при работе с локальными файлами без сервера эти элементы критически важны для корректного рендеринга. Особенно заметна разница при отсутствии тега viewport на мобильных устройствах или charset при отображении специальных символов, которые превращаются в непонятные значки без правильной кодировки.
Комментарии (208)
- Обсуждение затронуло тему минимализма в веб-разработке: отсутствие бандлов, использование Lit Elements без TypeScript и отсутствие сборщиков.
- Участники обсуждали, что HTML5 позволяет опускать закрывающие теги и некоторые атрибуты, что может влиять на читаемость кода.
- Были упомянуты такие практики, как неиспользование сборщиков и бандлов, что может быть связано с философией "no-build".
- Обсуждались также такие темы, как использование сторонних библиотек и фреймворков вместо "ванильного" JavaScript и CSS, и как это влияет на производительность и размер страницы.
- Участники также затронули тему "легковесных" решений и их влияние на производительность и удобство использования.
DOOMscrolling: The Game 🔥 Горячее
Doomscrolling: игра
Скроллинг как единственный способ управления.
Идея
Классический дум-скроллинг → браузерная игра, где всё, что нужно — листать вниз. Никаких стрелок и прыжков.
Попытка №1: провал
9 месяцев назад ни один LLM не смог связать «скролл вниз» с «фон движется вверх». Получилась пародия на игру. Забросил.
GPT-5 и победа
Через пару часов — рабочий прототип.
- Враги: 5 спрайтов, 2 кадра, как у Space Invaders.
- Механика: Galaga, но вертикально. Игрок движется вперёд-назад, монстры «привязаны» к полу.
Кофе-морнинги на каникулах
По часу утром:
- апгрейд оружия каждые 100 убитых;
- огненная стена подталкивает не стоять на месте;
- препятствия: кирпичи, паутина;
- 5 фонов, зелья здоровья, метка личного рекорда, пауза со статой.
Финальный штрих: новости
Появляются мемориальные плиты с заголовками NYT за сегодня. Не влияют на геймплей, только отвлекают.
Игра = самый сложный RSS-ридер в мире.
ИИ всё ещё тупит
Когда LLM не понимает, прерываю диалог и начинаю новый с тем же промптом — срабатывает.
Комментарии (92)
- Пользователи в восторге: человек без навыков кодинга собрал динамичную «дум-скролл»-игру, спросив ChatGPT сгенерировать всё.
- Механика: скроллинг = движение; враги и огонь идут снизу, игроку надо лутать апгрейды и убивать монстров.
- Впечатляет «лаборатория» со слайдерами для настройки спрайтов — пример Steve-Jobs-овского «конструктора калькулятора».
- Критика: нет инерции/чувствительности скролла, на больших экранах играть легче, можно «откатом» обмануть стену огня.
- Баг: одновременная смерть и 100-килл-бонус крашит игру.
- Общий вывод: простая, но свежая идея, показывающая, как LLM-инструменты открывают геймдев даже «не-программистам».