Ссылка
Ссылка ведёт читателя в другое место. Она повторяет размер и начертание окружающего текста и добавляет цвет ссылки и подчёркивание.
Read our
<p>Read our <tk-link href="/privacy">privacy policy</tk-link> before you sign up.</p>
Анатомия
| Часть | Что это |
|---|---|
tk-link |
сам элемент; одна остановка Tab, если задан href |
| слот по умолчанию | текст ссылки, обязателен; он же доступное имя |
part link |
нативный <a> внутри |
Своего размера у ссылки нет. Шрифт она берёт у окружения: в абзаце это Body Medium, в заголовке крупнее. Чтобы изменить размер, оформите текст вокруг неё.
Варианты
Подчёркивание
See the
<p>See the <tk-link href="/guide">setup guide</tk-link>.</p> <tk-link href="/pricing" underline="hover">Pricing</tk-link>
always(по умолчанию): подчёркнута всегда, поэтому не зависит от цвета. Для любой ссылки в тексте.hover: подчёркивание появляется при наведении и фокусе с клавиатуры. Только там, где и так понятно, что это ссылка, например в навигационной строке. Никогда в тексте.
Цвет
Questions?
<p>Questions? <tk-link href="/help" color="inherit">Visit the help center</tk-link>.</p>
accent(по умолчанию): цвет ссылки, отличный от основного текста.inherit: цвет окружающего текста; подчёркивание оставьте.inverse: для ссылки на инверсной (тёмной) поверхности. Включите для этой поверхности тёмную тему, чтобы рамка фокуса подошла.
Не сочетайте color="inherit" с underline="hover": ссылка ничем не отличается от
текста вокруг. Компонент предупредит в консоли.
Тихая
<nav aria-label="Account"> <tk-link href="/profile" treatment="quiet">Profile</tk-link> <tk-link href="/billing" treatment="quiet">Billing</tk-link> </nav>
treatment="quiet" — приглушённая ссылка без подчёркивания в покое. При наведении и
фокусе она темнеет и подчёркивается. Она заменяет color и underline: те перестают
действовать. Только для навигационных строк и цепочек разделов, никогда в тексте.
Состояния
<tk-link href="/reports">Reports</tk-link> <tk-link aria-current="page">Current page</tk-link>
Наведение, нажатие и фокус работают без атрибутов. При наведении появляется подчёркивание,
а у accent цвет темнеет. При фокусе с клавиатуры появляется рамка.
- Без
href: на ссылку нельзя перейти с клавиатуры и по ней нельзя пройти. Атрибутаdisabledнет; просто не задавайтеhref. aria-current="page": отмечает ссылку на страницу, где читатель сейчас. Компонент передаёт атрибут внутреннему<a>.- Посещённые ссылки выглядят так же, как непосещённые.
Внешние ссылки
<tk-link href="https://example.com/report" target="_blank" external>Annual report (opens in a new tab)</tk-link>
target="_blank"открывает новую вкладку и сам добавляетrel="noopener noreferrer"к вашемуrel, если он есть.externalдобавляет в конце иконку внешней ссылки. Она масштабируется и окрашивается вместе с текстом и скрыта от скринридеров.- Пишите «откроется в новой вкладке» в тексте, если это важно: иконка ничего не сообщает.
Когда использовать
- Ссылка — чтобы перейти: на страницу, маршрут,
#якорь, адресmailto:или к файлу. - Чтобы что-то сделать на месте, нужна
кнопка : сохранить, открыть диалог, удалить. Даже если она должна выглядеть тихо. - Для цепочки разделов или навигационной панели есть
Breadcrumb иNavigation menu ; внутри у них ссылки.
Текст
- Называйте, куда ведёт ссылка: «политика конфиденциальности», «настройки оплаты».
- Текст должен быть понятен вне контекста. Пользователи скринридеров часто просматривают ссылки списком.
- Избегайте «нажмите здесь» и «подробнее», если не сказано, о чём.
- Коротко: ссылкой делайте слова, которые называют место, а не всё предложение.
Можно / нельзя
| ✅ Можно | ❌ Нельзя |
|---|---|
| Ссылка для перехода на другую страницу | Ссылка, которая выполняет действие |
| Ссылки в тексте подчёркнуты | underline="hover" в абзаце |
| «Настройки оплаты» | «Нажмите здесь» |
Не задавать href, если пройти нельзя |
Атрибут disabled |
| «Откроется в новой вкладке» в тексте | Новая вкладка без предупреждения |
| Менять размер через окружающий текст | Ждать от ссылки атрибута размера |
Связанные
Button : для действий.Text : текст, в котором стоит ссылка.Breadcrumb : цепочка тихих ссылок.Navigation menu : навигационная панель на ссылках.Prose : обычные<a>в Prose выглядят так же.
API
Атрибуты
| Атрибут | Тип | По умолчанию | Что делает |
|---|---|---|---|
href |
string | нет | адрес; без него по ссылке нельзя пройти |
target |
string | нет | цель ссылки; _blank добавляет rel="noopener noreferrer" |
rel |
string | нет | дополнительные значения rel |
underline |
always | hover |
always |
когда видно подчёркивание |
color |
accent | inherit | inverse |
accent |
цвет ссылки |
treatment |
standard | quiet |
standard |
quiet для навигации; заменяет color и underline |
external |
boolean | false |
показывает иконку внешней ссылки |
aria-current |
string | нет | передаётся внутреннему <a>; page для текущей страницы |
Слоты
| Слот | Содержимое |
|---|---|
| по умолчанию | текст ссылки, обязателен; длинный текст переносится вместе с подчёркиванием |
События
Своих событий нет. Слушайте click; Enter открывает ссылку.
CSS
::part(link): нативный<a>.
Токены
| Ссылка | Покой | Наведение и нажатие | Рамка фокуса |
|---|---|---|---|
accent |
text/accent |
text/accent/hover |
border/accent/focus |
inherit |
цвет окружающего текста | text/accent/hover |
border/accent/focus |
inverse |
text/inverse |
text/accent/hover |
border/inverse |
quiet |
text/secondary |
text/default |
border/accent/focus |
Значения по темам:
Доступность
Встроено:
- Нативный
<a>: до него доходит Tab, если заданhref, Enter открывает ссылку, работают открытие в новой вкладке и контекстное меню браузера. - Подчёркивание по умолчанию, поэтому ссылка не зависит от цвета.
- Рамка фокуса для клавиатуры, которая никогда не прячется; при фокусе ссылка ещё и подчёркивается.
aria-currentдоходит до внутреннего<a>.- Внешняя иконка скрыта; ссылку называет текст.
На вашей стороне:
- Текст ссылки называет, куда она ведёт.
- Ссылки в тексте остаются подчёркнутыми.
- Если ссылка открывает новую вкладку, скажите это в тексте.
- Ссылка для перехода, кнопка для действия.
| Клавиша | Действие |
|---|---|
Tab |
переводит фокус на ссылку (только если задан href) |
Enter |
открывает ссылку |
Пределы контраста
underline="hover"иquiet: в покое такие ссылки отличаются только цветом или положением. Используйте их там, где контекст и так говорит «ссылка».inheritиinverseпри наведении: текст становитсяtext/accent/hoverи на тёмной поверхности может плохо читаться.