Почему target = "_ blank" не рекомендуется использовать с XHTML? - PullRequest
6 голосов
/ 12 февраля 2010

Это действительно в XHTML 1.1 , а в рекомендациях WCAG 2.0 нет никакой информации о его использовании?

Я знаю, что это недопустимо в строгом XHTML 1.0, но если многие люди используют другие вещи, такие как JavaScript, jQuery, атрибут rel, PHP и т. Д.

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

Ответы [ 3 ]

6 голосов
/ 12 февраля 2010

Это в основном связано с отделением контента от поведения. Основная предпосылка заключается в том, что мы должны использовать HTML / XHTML для обозначения контента, CSS для представления и верстки и JavaScript для интерактивности.

Атрибут target не вписывается в эту парадигму (это немного HTML-контента, который влияет на поведение браузера), поэтому его использование не одобряется.

4 голосов
/ 12 февраля 2010

Почему вы пытаетесь заставить ссылку открываться в новом окне? Если пользователь хочет просмотреть его в новом окне или вкладке, он должен быть тем, кто решит. Это вредно для удобства использования; например, он останавливает работу кнопки «Назад» и отнимает часть контроля у пользователей. Проверьте эту статью для более.

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

ссылка

2 голосов
/ 12 февраля 2010

За исключением 4 специальных имен целей, атрибут target используется в основном для фреймов. Поскольку XHTML 1.0 не поддерживает фреймы, имеет смысл не включать атрибут, предназначенный для работы с ними.

Печально, что это также означает потерю эффекта «открыть в новом окне», но так оно и есть

...