Создание HTML-ссылки, которая никуда не ведет: решение

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Напоминание о том, что в гениальности важна простота

Если вам необходима ссылка без перехода, осуществите это с помощью конструкции <a href="javascript:void(0);">Нейтральная ссылка</a>. Выражение "javascript:void(0);" обеспечивает бездействующее поведение ссылки: она не инициирует никаких действий и не оставит следа в истории переходов браузера.

HTML:

HTML
Скопировать код
<a href="javascript:void(0);">Нейтральная ссылка</a>

Таким образом, создаётся неактивная ссылка, нажатие на которую не инициирует выполнение каких-либо действий.

Кинга Идем в IT: пошаговый план для смены профессии

Управление взаимодействием при помощи JavaScript

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

HTML:

HTML
Скопировать код
<a href="#" onclick="handleClick(event);">Нейтральная ссылка</a>

JavaScript:

JS
Скопировать код
function handleClick(event) {
  event.preventDefault(); // Предотвращение перехода по ссылке
  // Здесь ваш код вступает в игру
}

Эта фунция активируется при клике на ссылку. Благодаря event.preventDefault() отменяется переход по URL, что позволяет взаимодействовать с элементом без изменений в URL пользователя.

Важность доступности

Все пользователи имеют право на доступ к контенту! Если JavaScript отключен, рекомендуется использовать атрибут href, который можно аннулировать при помощи JavaScript, когда он включён.

HTML
Скопировать код
<a href="/placeholder" onclick="return false;">Нейтральная ссылка</a>

Полезный совет: Если элемент выглядит как ссылка, но не является ей, присвойте его tabindex="0", это сделает его доступным с клавиатуры. Оформление элемента можно дополнительно настроить через CSS:

CSS
Скопировать код
.link-style {
  cursor: pointer;
  color: #00f;
  text-decoration: underline;
}
HTML
Скопировать код
<div class="link-style" tabindex="0">Элемент с видом ссылки</div>

Соблюдение стилистической гармонии

Очень важно, чтобы ваши "неактивные" ссылки внешне не отличались от обычных. Рассмотрим, как можно стилизовать подобные ссылки с помощью CSS:

CSS
Скопировать код
.do-nothing-link {
  color: blue;
  text-decoration: underline;
  cursor: pointer; // Внешне выглядит как реальная ссылка!
}
.do-nothing-link:hover,
.do-nothing-link:active {
  text-decoration: none; // Ссылка не реагирует на наведение и клик!
}

Такой стиль CSS позволяет слить "неактивные" ссылки с обычными, создав визуальное единство. При этом соблюдается принцип семантичности HTML, что способствует более ясному и эффективному коду.

Альтернативы якорям

Если ваш элемент предназначен для инициации действия, а не для навигации, то лучше использовать <button>, оформленную под ссылку. Такое решение более семантично, поскольку подразумевает выполнение действия, а не переход.

HTML
Скопировать код
<button type="button" class="link-style">Элемент, имитирующий ссылку</button>

Такая кнопка выполняет работу ссылки и чётко указывает на своё назначение — инициацию действия.

Визуализация

Итак, сравним ссылку, которая ничего не делает, с ленивой кошкой, сидящей на коврике:

HTML
Скопировать код
<a href="javascript:void(0);">🐈🧶 Уютная кошечка, оставайся здесь! 🧶🐈</a>
  • Ленивая кошка 🐈: HTML-ссылка
  • Коврик 🧶: Атрибут "href"
  • Поглаживание кошки 🖱️🔗: Клик по ссылке
  • Реакция кошки (или её отсутствие) 🐈😴: Действие JavaScript "void(0)", пресекающее попытки ссылки сместиться

То есть, когда пользователь попытается "погладить кошку" (кликнуть по ссылке), наша кошка (ссылка) просто спокойно мурлычет и остаётся на месте.

Легкое сравнение:

Клик по Кошке (Клик) 🖱️: [🚶💭 "Может, перейдём куда-нибудь?"] Кошка остаётся на месте 🐈😴: [Без изменений, без действий, без проблем]

Основная визуальная послеовательность: Клик 🖱️ -> Кошка на коврике 🐈🧶:... Кошка: "Перемещения? Мурр, спасибо, мне и здесь хорошо!"

Приоритетное удобство использования

Стремитесь к простоте и понятности для пользователя. Ссылка, не исполняющая никаких задач, должна быть оптимально прозрачной и не усложнять интерфейс. Основное внимание уделяется гладкому взаимодействию с пользователем: наглядность и функциональность интуитивно объединяются, улучшая пользовательский опыт. Обработка "неактивных" ссылок должна соответствовать ожиданиям пользователя.

Проектирование на случай непредвиденных обстоятельств

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

Полезные материалы

  1. HTML a tag — углублённое руководство по использованию тега <a> в HTML.
  2. Event reference | MDN — информация о обработке событий в JavaScript.
  3. Not Found – CSS-Tricks — обсуждение использования символа # для создания "мертвых" ссылок и возможных последствий такого подхода.
  4. <a>: The Anchor element – HTML: HyperText Markup Language | MDN — документация MDN по атрибутам тега <a>.
  5. void operator – JavaScript | MDN — описание оператора void в JavaScript для предупреждения выполнения операций с веб-ссылками.
  6. WebAIM: Links and Hypertext – Link Text and Appearance — руководство по созданию доступных веб-ссылок и гипертекста.
  7. How to Add an HTML Button that Acts Like a Link — подробно о создании кнопки, функционирующей как веб-ссылка, особенно полезно, когда ссылка не предназначена для перехода.