Тег элементов ссылок html
Ссылки — это то, что делает интернет настоящей паутиной.
- Кратко
- Пример
- Как понять
- Как пишется
- Атрибуты
- Подсказки
- Ещё примеры
- На практике
- Вадим Макеев советует
- Алёна Батицкая советует
- Ольга Ветер советует
- Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?
Кратко
Скопировать ссылку «Кратко» Скопировано
Пример
Скопировать ссылку «Пример» Скопировано
Яндекс
a href="https://www.yandex.ru/">Яндексa>
Сделаем ссылку для отправки письма на почту:
Отправить сообщение в никуда
a href="mailto:nowhere@yandex.ru">Отправить сообщение в никудаa>
На практике
Скопировать ссылку «На практике» Скопировано
Вадим Макеев советует
Скопировать ссылку «Вадим Макеев советует» Скопировано
🛠 Когда нужно сделать навигацию в пределах одной страницы, например, оглавление, удобно использовать якоря — то есть ссылки на отдельные элементы. При нажатии на ссылку браузер мгновенно переместится к этому элементу.
Чтобы создать такую ссылку, нужно две вещи:
- Добавить уникальный id = «element» целевому элементу.
- Сослаться на него с помощью ссылки вида #element .
Фотографии пёсиков …
Фотографии пёсиков
a href="#section-1"> Фотографии пёсиков a> … section id="section-1"> h3>Фотографии пёсиковh3> section>
Чтобы перемещение по якорю было плавным, можно добавить свойство scroll — behavior контейнеру, который будет прокручиваться. Чаще всего, это :
body scroll-behavior: smooth;>
body scroll-behavior: smooth; >
Обратите внимание, что уникальность id важна, поскольку браузер рассчитывает, что на странице есть только один такой элемент и найдёт только первый по коду, а до второго не дойдёт. Расстановку таких id лучше поручить шаблонизатору, он точно не ошибётся.
Например, генераторы статики умеют делать уникальный id из содержимого заголовка:
Уникальный заголовок
h3 id="unikalny-zagolovok"> Уникальный заголовок h3>
Иногда перемещение по якорю прокручивает страницу впритык к целевому элементу, обрезая родительский контейнер. Это можно исправить, если поставить id на родительский контейнер, либо с помощью свойства scroll — margin — оно добавит нужный отступ.
h3 scroll-margin: 20px;>
h3 scroll-margin: 20px; >
Алёна Батицкая советует
Скопировать ссылку «Алёна Батицкая советует» Скопировано
🛠 По умолчанию ссылка — строчный элемент. Поэтому, если нужно обернуть в неё целый блок, задайте для ссылки display : block .
🛠 Поскольку ссылка строчная, лучше вкладывать её в блочный элемент, а не наоборот. Для примера возьмём заголовок, который должен быть ссылкой.
Заголовок, он же ссылка
Заголовок, он же ссылкаa href="#"> h2>Заголовок, он же ссылкаh2> a> h2> a href="#">Заголовок, он же ссылкаa> h2>
Ольга Ветер советует
Скопировать ссылку «Ольга Ветер советует» Скопировано
🛠 Иногда нам всё же может понадобиться «отключить» ссылку. На это должна быть веская причина: необходимость создать временную «заглушку», требование специалиста по продвижению сайта и так далее. Если речь идёт о ссылке на текущую страницу и у нас нет нужды её блокировать, то достаточно будет использовать aria — current = «page» .
Что нужно сделать, если ссылку нужно заблокировать?
Лучше всего убрать атрибут href , это разрешается спецификацией. Такая ссылка уже будет вести себя как «заглушка» и не будет интерактивной: то есть не появится контекстное меню по правому клику, не изменится вид курсора при наведении, не возникнет фокус при работе с клавиатуры.
Текст ссылки
a>Текст ссылкиa>
Роль этого элемента уже не будет восприниматься устройствами как link . Это не совсем корректно с точки зрения семантики и хорошо будет показать, что это именно ссылка, и что мы её отключаем умышленно, а не по ошибке. Явно определить роль поможет атрибут role = «link» (ссылка без href эту роль теряет). Обозначить ссылку как отключённую нам поможет атрибут aria — disabled = «true» .
Текст ссылки
a role="link" aria-disabled="true">Текст ссылкиa>
Если мы знаем, что такие заблокированные ссылки-«заглушки» на нашем сайте есть или могут возникнуть, то рекомендуется и состояния (например :hover ) прописывать с учётом наличия href , чтобы у заблокированных ссылок каких-либо спецэффектов интерактивного элемента не возникало. Например так:
a[href]:hover background-color: #FF8630;>
a[href]:hover background-color: #FF8630; >
Ссылка, лишённая атрибута href , этого изменения фона по наведению курсора не получит.
На собеседовании
Скопировать ссылку «На собеседовании» Скопировано
Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?
Скопировать ссылку «Какая разница между ссылками и кнопками? В каких случаях надо использовать ссылку, в каких кнопку? Почему эта разница важна с точки зрения доступности?» Скопировано
Скопировать ссылку «Александр Ламков отвечает» Скопировано
Ощутимая разница между ссылками и кнопками в том, что «активация» элемента при фокусе с клавиатуры происходит по-разному. Для ссылок — клавишей Enter , а для кнопок — пробелом или Enter . Пользователь, привыкший перемещаться по интерфейсу сайта и взаимодействовать с ним с клавиатуры, получит неожиданное поведение при попытке взаимодействия с ложной ссылкой или кнопкой.
Чтобы определить, какой тег использовать, ссылку или кнопку, нужно подумать про ожидаемое поведение при взаимодействии с элементом. Если при нажатии на элемент подразумевается переход на другую страницу, то в коде элемент нужно сделать тегом , то есть ссылкой. Если при нажатии произойдёт действие в рамках текущей страницы, например, откроется модальное окно с формой входа, то такой элемент нужно сделать тегом .
С точки зрения доступности у ссылок и кнопок разные роли. У ссылок — link , у кнопок — button . Скринридер перед озвучиванием содержимого элемента произносит его роль. Если используете неправильные теги, роли перемешаются и это запутает пользователей скринридеров.
Тег элементов ссылок html
Для создания ссылки необходимо сообщить браузеру, что является ссылкой, а также указать адрес документа, на который следует сделать ссылку. В качестве значения атрибута href используется адрес документа (URL, Universal Resource Locator, универсальный указатель ресурсов), на который происходит переход. Адрес ссылки может быть абсолютным и относительным. Абсолютные адреса работают везде и всюду независимо от имени сайта или веб-страницы, где прописана ссылка. Относительные ссылки, как следует из их названия, построены относительно текущего документа или корня сайта.
Синтаксис
Атрибуты
accesskey Активация ссылки с помощью комбинации клавиш. coords Устанавливает координаты активной области. download Предлагает скачать указанный по ссылке файл. href Задает адрес документа, на который следует перейти. hreflang Идентифицирует язык текста по ссылке. name Устанавливает имя якоря внутри документа. rel Отношения между ссылаемым и текущим документами. rev Отношения между текущим и ссылаемым документами. shape Задает форму активной области ссылки для изображений. tabindex Определяет последовательность перехода между ссылками при нажатии на кнопку Tab . target Имя окна или фрейма, куда браузер будет загружать документ. title Добавляет всплывающую подсказку к тексту ссылки. type Указывает MIME-тип документа, на который ведёт ссылка.
Также для этого тега доступны универсальные атрибуты и события.
Закрывающий тег
Посмотрите на мою фотографию!
Как сделать такое же фото?
: The Anchor element
The HTML element (or anchor element), with its href attribute, creates a hyperlink to web pages, files, email addresses, locations in the same page, or anything else a URL can address.
Try it
Attributes
This element’s attributes include the global attributes.
Causes the browser to treat the linked URL as a download. Can be used with or without a filename value:
- Without a value, the browser will suggest a filename/extension, generated from various sources:
- The Content-Disposition HTTP header
- The final segment in the URL path
- The media type (from the Content-Type header, the start of a data: URL, or Blob.type for a blob: URL)
- download only works for same-origin URLs, or the blob: and data: schemes.
- How browsers treat downloads varies by browser, user settings, and other factors. The user may be prompted before a download starts, or the file may be saved automatically, or it may open automatically, either in an external application or in the browser itself.
- If the Content-Disposition header has different information from the download attribute, resulting behavior may differ:
- If the header specifies a filename , it takes priority over a filename specified in the download attribute.
- If the header specifies a disposition of inline , Chrome and Firefox prioritize the attribute and treat it as a download. Old Firefox versions (before 82) prioritize the header and will display the content inline.
The URL that the hyperlink points to. Links are not restricted to HTTP-based URLs — they can use any URL scheme supported by browsers:
- Sections of a page with document fragments
- Specific text portions with text fragments
- Pieces of media files with media fragments
- Telephone numbers with tel: URLs
- Email addresses with mailto: URLs
- While web browsers may not support other URL schemes, websites can with registerProtocolHandler()
Hints at the human language of the linked URL. No built-in functionality. Allowed values are the same as the global lang attribute.
A space-separated list of URLs. When the link is followed, the browser will send POST requests with the body PING to the URLs. Typically for tracking.
How much of the referrer to send when following the link.
- no-referrer : The Referer header will not be sent.
- no-referrer-when-downgrade : The Referer header will not be sent to origins without TLS (HTTPS).
- origin : The sent referrer will be limited to the origin of the referring page: its scheme, host, and port.
- origin-when-cross-origin : The referrer sent to other origins will be limited to the scheme, the host, and the port. Navigations on the same origin will still include the path.
- same-origin : A referrer will be sent for same origin, but cross-origin requests will contain no referrer information.
- strict-origin : Only send the origin of the document as the referrer when the protocol security level stays the same (HTTPS→HTTPS), but don’t send it to a less secure destination (HTTPS→HTTP).
- strict-origin-when-cross-origin (default): Send a full URL when performing a same-origin request, only send the origin when the protocol security level stays the same (HTTPS→HTTPS), and send no header to a less secure destination (HTTPS→HTTP).
- unsafe-url : The referrer will include the origin and the path (but not the fragment, password, or username). This value is unsafe, because it leaks origins and paths from TLS-protected resources to insecure origins.
The relationship of the linked URL as space-separated link types.
Where to display the linked URL, as the name for a browsing context (a tab, window, or ). The following keywords have special meanings for where to load the URL:
- _self : the current browsing context. (Default)
- _blank : usually a new tab, but users can configure browsers to open a new window instead.
- _parent : the parent browsing context of the current one. If no parent, behaves as _self .
- _top : the topmost browsing context (the «highest» context that’s an ancestor of the current one). If no ancestors, behaves as _self .
Note: Setting target=»_blank» on elements implicitly provides the same rel behavior as setting rel=»noopener» which does not set window.opener .
Hints at the linked URL’s format with a MIME type. No built-in functionality.
Deprecated attributes
Hinted at the character encoding of the linked URL.
Note: This attribute is deprecated and should not be used by authors. Use the HTTP Content-Type header on the linked URL.
Used with the shape attribute. A comma-separated list of coordinates.
Was required to define a possible target location in a page. In HTML 4.01, id and name could both be used on , as long as they had identical values.
Note: Use the global attribute id instead.
Specified a reverse link; the opposite of the rel attribute. Deprecated for being very confusing.
The shape of the hyperlink’s region in an image map.