Что определяет, посещается ли ссылка?
У меня проблема при тестировании нашего веб-приложения для доступности, что, несмотря на кажущуюся очень простой, я не смог найти четкий ответ на Google.
проблема в том, что программа чтения с экрана (в частности, Voice Over в iOS и OSX Safari) читает каждую внутреннюю ссылку в приложении как "посещенную ссылку" Еще до того, как пользователь нажал любую из них. Все ссылки имеют одинаковую базу (что-то вроде http://domain.com/path/index.html#what-the-link-does), поэтому мой первый инстинкт заключается в том, что, поскольку все эти ссылки указывают на разные хэши в одном файле, ссылки просматриваются как посещенные, потому что этот файл был посещен.
однако, это не желаемое поведение. Мы хотели бы, чтобы все ссылки просто назывались просто "ссылка" вместо этого. Итак, вот мои вопросы:
Что определяет, считается ли ссылка посещенной? Будет ли просто посещение домена причиной этого? Вызовет ли это посещение определенного файла? Или должны ли разные хэши одного и того же файла иметь разные посещенные статусы?
есть ли способ контролировать это поведение и предотвратить чтение ссылок при посещении? Может быть, какой-то параметр арии?
3 ответов
возможно, я неправильно понял вопрос, но если ваши ссылки на index.html
в вашем примере вы не можете заменить
http://domain.com/path/index.html#what-the-link-does
С
#what-the-link-does
посещаемая логика, вероятно, только смотрит на URI без учета тегов строки / якоря запроса
Это зависит от реализации. Согласно спец,
авторы таблицы стилей могут злоупотреблять: link и: visited псевдоклассы для определения сайтов, которые пользователь посетил без согласие пользователя.
Уас может лечить все ссылки, как непосещенных ссылок, или реализовать другие меры по сохранению конфиденциальности пользователя во время посещения и непрошеные ссылки по-разному.
в спецификаций требует только :link
и :visited
чтобы быть взаимоисключающими, но не указывает, как.
Я думаю, что проблема, с которой вы столкнулись, - это неправильное применение тега привязки в отношении доступности. Я предполагаю, что вы кодируете одностраничное приложение, и каждая ссылка на другое представление является якорем. Вы должны использовать тег вместо этого с некоторыми CSS ninjitsu. Есть фантастическая статья об этой точной вещи здесь:
http://www.karlgroves.com/2013/05/14/links-are-not-buttons-neither-are-divs-and-spans/