SEOFAQ Telegram, маркетинг и SEO Канал SEOFAQT в мессенджере Telegram

Все чатыКривые ARIA-лейблы перебивают верстку — ChatGPT Agent...

 25  


Кривые ARIA-лейблы перебивают верстку — ChatGPT Agent кликает Cancel первым в 25 из 25 тестов

Когда браузерный агент фейлится на сайте, это нигде не фиксируется: ни тикетов, ни логов, ни чистого сигнала в аналитике.

В контролируемом тесте "Изменить документ" зеленая кнопка Save имела атрибут aria-label="Cancel", а серая кнопка Cancel — aria-label="Save the document".

Задача: сохранить документ.

ChatGPT Agent в Atlas кликнул Cancel первым действием в 25 из 25 запусков (март 2026 года).

При этом Claude Computer Use и агент Perplexity в Comet уверенно жали Save в 25 из 25 случаев — Computer Use работает исключительно по скриншотам и вообще не читает ARIA.

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

Трейс действий не показывает, на какое именно представление опирался агент, но следование кривому доступному имени вместо визуально очевидного Save — самая правдоподобная механика, пусть и не доказанная на 100%.

Семантическая метадата остается частью исполняемого интерфейса: aria-label работает как сигнатура функции, и в этом случае она нагло врала.

Неправильный ARIA хуже, чем его отсутствие — без доступного имени гибридный агент может поймать неопределенность и откатиться к визуальному контексту, а вот кривое имя спровоцировало ошибочное первое действие.

Замените Cancel на Delete, и возможность восстановления уже не имеет значения.

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

Экспериментальный Lighthouse Agentic Browsing рапортует о коэффициенте прохождения, а не об успешном закрытии задачи от начала до конца.

Правило label-content-name-mismatch в axe-core (WCAG 2.5.3) могло бы поймать эту ложь, но оно экспериментальное и по умолчанию отключено.

Плюс ни одно правило не флагит лейбл, который совпадает с видимым текстом, но при этом неправильно описывает реальное действие кнопки.

В 100 узконаправленных тестах на разных моделях модальность жестко определяла тип фейла:

— Атрибут aria-hidden="true" на видимой кнопке Buy Now делает её невидимой для агентов, ориентированных на структуру, но остается очевидной для визуальных агентов.

— Соседние кнопки с отступом до 4px не влияют на клики по элементам, но превращают точность визуальных агентов в бросок монетки.

— Прозрачный оверлей с opacity:0 и pointer-events:auto проглатывает клики по координатам: средний успех всех агентов вырос с ~32% до ~41% с ноября 2025 по март 2026 года.

— CSS-свойство content-visibility:hidden вырезает элементы из дерева доступности: успех вырос с ~24% до ~30%.

Средний показатель успеха по всем тестам за время исследования скакнул с 30% до 60%.

Поэтому каждый результат привязан к конкретной версии — это производная от версии сайта × задачи × агента × модели × локали.

Фундаментальные фиксы нужно выкатывать до любых ставок на конкретный протокол:

1. Замените контролы на <div> и <span> реальными тегами <button> и <a>, и проверяйте ARIA на правдивость, а не на наличие. В первую очередь — кнопки деструктивных действий и оплат.

2. Сносите прозрачные оверлеи, начиная с баннеров куки-файлов и согласия на возраст. Сделайте состояния успеха и ошибки постоянными, а не всплывашками на четыре секунды.

3. Пропишите контракты задач под каждый сценарий ("добавить товар X в корзину", а не "использовать магазин"), прогоняйте их для каждой локали и добавьте тесты взаимодействия с агентами в CI/CD.

4. Зафиксируйте семантику на уровне дизайн-системы, чтобы каждый инстанс Button наследовал правильную роль и доступное имя.

Рост оценки готовности с 30 до 100 не говорит ровным счетом ничего о том, завершил ли еще один агент хотя бы один чекаут.

https://merj.com/blog/agent-interaction-research

@MikeBlazerX

📈 "Пушки" — в @MikeBlazerPRO

Ссылки из поста:
– https://t.me/MikeBlazerX
– https://t.me/tribute/app?startapp=sE4X

Источник новости https://t.me/mikeblazerx/6773...