Фотография обложки от Путешествие с Радж на Неспособный .
Введение
Когда у вас есть веб -страница, вы хотите скрыть некоторые элементы страницы, если некоторые условия выполнены. Эти условия могут включать:
- Успешная загрузка страницы.
- JavaScript Files успешно загружены.
- JavaScript включен.
- Изменение ориентации устройства.
В какой бы ситуации вы ни находились, лучше всего скрыть элементы страницы с учетом доступности.
Как скрыть элементы страницы
В вашем наборе инструментов доступны несколько вариантов, когда речь идет о сокрытии элементов страницы. Некоторые включают:
- Html
стиль
атрибут. - CSS
дисплей
имущество. - CSS
позиция
имущество. - Скрытие элементов с JavaScript.
Атрибут HTML в стиле
Когда вы используете html стиль
Атрибут, чтобы скрыть элементы страницы, вам придется использовать его с некоторыми свойствами CSS. Большую часть времени это будет дисплей
свойство со значением Нет
Анкет
Вы должны знать, что когда вы скрываете элементы страницы с дисплей: нет;
Это игнорируется читателями экрана. например Nvda Анкет
CSS отображает свойство
CSS дисплей
свойство со значением Нет
может использоваться несколькими способами в зависимости от условия. Это может быть использовано в следующих случаях:
- Полностью скрыть элемент страницы
- Изменения в ориентации устройства
Полностью скрыть элемент страницы
Следующий селектор полностью скрыт элемент страницы, и веб -браузер не будет отображать его на экране, а читатель экрана тоже его не будет читать.
.selector { display: none; }
Убедитесь, что любой элемент, который вы полностью скрываете, не имеет решающего критического знания для понимания вашего контента и уменьшения его доступности.
Скрытие Поиск Ввод на мобильный телефон не очень хороша, если у вас нет механизма, чтобы раскрыть его, и сам механизм доступен.
Изменения в ориентации устройства
Когда вы проектируете с Адаптивный веб -дизайн Подход, вы обнаружите, что прячуте вещи на мобильных устройствах и показывают их на планшет или настольный компьютер Посмотреть.
Возьмите следующий пример.
.left-side-bar { display: none; } /** * On tablet view upwards we show the * the left side bar */ @media screen and (min-width: 48em) { .left-side-bar { display: block; } }
CSS Position Property
позиция
Собственность может быть использована для позиционирования элементов веб -страницы, где вы хотите их на веб -странице. Его также можно использовать для перемещения элемента страницы полностью за кадром. Я подробно описал, как сделать это в своем посте под названием: Как реализовать доступность “пропустить контент” Анкет
Следующее переместит выбранный элемент страницы за пределами экрана но Он все еще доступен для читателей экрана.
.visually-hidden { position: absolute; top: auto; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
Скрытие элементов с JavaScript
Укрытие элементов страницы с JavaScript составляет два раза. Они есть:
- Непосредственно применение встроенных стилей.
- Добавление класс Имя, которое скрывает элементы.
Непосредственное применение встроенных стилей
Методы веб -страницы могут быть выбраны с использованием таких методов числа DOM, как Document.getElementById ()
, document.queryselector ()
так далее. После этого вы можете применить стиль, который будет скрывать элемент непосредственно к нему.
Посмотрите следующий пример.
let header = document.getElementById('header'); // hide the header header.style.display = "none";
Вы должны знать, что Заголовок В приведенном выше коде будет скрываться только тогда, когда пользователь включен JavaScript в своем браузере, или их веб -браузер успешно загрузил ваши файлы JavaScript.
Добавление имени класса, которое скрывает элементы
Вы можете создать класс В ваших файлах CSS, которые будут исключительно для сокрытия элементов страницы. Затем вы можете выбрать элемент страницы с JavaScript и добавить это класс к этому.
Следующий CSS класс скрывает элемент, к которому он применяется:
.hidden { display: none; }
Тогда вы можете скрыть желаемый элемент страницы, добавив .hidden
класс по своему класс атрибут.
let footNote= document.getElementByID('foot-note'); // add the hidden class footNote.classList.add('hidden');
Теперь, когда мы выделили несколько способов скрыть элементы страницы, есть некоторые вещи, которые вы должны избегать.
Вещи, которые вы должны избегать
Не скрывайте элемент с CSS с намерением показать его с JavaScript Анкет Это плохо.
Не делай этого :
.left-side-bar { display: none; }
Затем показывая это с помощью JavaScript:
let leftSideBar = document.querySelector('.left-side-bar'); // then show it leftSideBar.style.display = "block";
Если пользователь отключен JavaScript, или JavaScript не может загрузить пользователь, он потеряет доступ к элементу.
Если вам нужно сделать это, убедитесь, что это не критический элемент вашей страницы, как Архив Боковая панель, которая ссылается на ваш предыдущий пост в блоге.
Пример реальной жизни
На изображении ниже я использую dev Основная отметка редактор Но, как вы заметите, вы можете увидеть Публиковать и Сохраните черновик кнопка, которая доступна в богатый редактор Анкет
Эти кнопки позже скрыты при загрузке JavaScript. Если бы команда разработчиков спрятала кнопки с помощью CSS, чтобы она была показана с помощью JavaScript, эти кнопки не будут показаны, и вы можете увидеть пустые пространства.
Вывод
Есть много вариантов, когда дело доходит до скрытия элементов страницы, выбор ваш, но не забудьте сделать это с учетом доступности.
Редактировать 25 июня 2020 года: добавьте ссылку на статью о доступности «Пропустить контент» Анкет
Оригинал: “https://dev.to/ziizium/how-to-hide-web-page-elements-1be5”