Skip to content

Instantly share code, notes, and snippets.

@pepelsbey
Created September 13, 2019 15:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pepelsbey/642a8c6c4102fbe7eeb4a61104633d83 to your computer and use it in GitHub Desktop.
Save pepelsbey/642a8c6c4102fbe7eeb4a61104633d83 to your computer and use it in GitHub Desktop.
Вопросы к разделу «Оформление контента»

Вопросы к разделу «Оформление контента»

@lazyrider
Copy link

Вадим, здравствуйте!

Возник один вопрос, подскажите, пожалуйста:

Как сделать, чтобы фокус пропускал элементы, чтобы они были доступны только при клике мышкой, я знаю: tabindex: -1

Но, если кнопка служит только для визуальных целей, например прячет/открывает форму,
Как сделать, чтобы скринридер ее не видел?

Сделать вместо кнопки div - правильное решение?

@pepelsbey
Copy link
Author

@lazyrider, почему вы хотите сделать форму, которую нельзя открыть с клавиатуры? Вам могло показаться, что есть два случая: незрячий со скринридером и зрячий с обычным браузером. Но это не так, многие видят, но не могут пользоваться мышью, предпочитая клавиатуру и иногда дополнительно скринридер. В таком случае, я не очень понимаю задачу.

@lazyrider
Copy link

lazyrider commented Oct 11, 2019

@pepelsbey , Спасибо за ответ!
"Вам могло показаться, что есть два случая: незрячий со скринридером и зрячий с обычным браузером. "

Действительно думал только про эти два случая. Стало понятнее, но еще не совсем.

Попробую уточнить вопрос на примере кнопки ПОИСК ГОСТИНИЦЫ В СЕДОНЕ.
Она прячет и открывает форму. (по умолчанию форма открыта)
Форму можно прятать для того, чтобы был доступ к карте.

Для незрячего пользователя, в блоке с картой я хотел написать текст "Координаты Седоны: ..." и спрятать его с помощью visually-hidden.
Скринридер прочитает этот блок, но визуально его не будет.

Но, в этом случае, для незрячего пользовтеля пропадает смысл в кнопке ПОИСК ГОСТИНИЦЫ В СЕДОНЕ. Она выполняет бесполезную функцию для него, так как отображение карты для него бесполезно. Поэтому, я и хотел оформить кнопку с помощью div, чтобы скринридер не воспринимал ее как интерактивный элемент.

С другой стороны, к ней должен быть доступ с клавиатуры. По симантике - это кнопка.

Поэтому я все же сделал ее как button, но в aria-label написал "Закрыть или открыть форму поиска (по умолчанию форма открыта)". В этом случае к ней есть доступ с клавитуры, а незрячий пользователь прочитает описание и просто не будет на нее нажимать.

Насколько верно такой вариант?

Другими словами, смысл этого всего: хотелось сделать кнопку недоступной из скринридера, но доступной с клавиатуры.
Но, после Вашего примера с пользователем, который видит, но испольует скринридер для навигации, остановился на варианте с aria-label, который описал выше.

@pepelsbey
Copy link
Author

@lazyrider, если вы понимаете, что делаете (похоже на то!), то есть ещё атрибут aria-hidden="true", который прячет объект от скринридеров, но оставляет для всех остальных.

@lazyrider
Copy link

@pepelsbey, Спасибо большое!

@lazyrider
Copy link

lazyrider commented Oct 27, 2019

@pepelsbey, Вадим, здравствуйте!
Может знаете в чем дело и подскажете в двух словах, в чем причина:

Сделал иконки для чекбоксов на CSS.
У одного из элементов для галочки - есть белая рамка вокруг.
После того как я его повернул с помощью rotate, вокруг белой рамки появляется супер-тонкая серая рамочка. Не получается пока разобраться из за чего так и как от нее избавиться.
photo_2019-10-27_14-41-10
photo_2019-10-27_14-41-19

photo_2019-10-27_14-56-11

Update:
Аутлайн решил проблему! У него нет такого эффекта. Но все равно интересно откуда это берется.....

@pepelsbey
Copy link
Author

Особенности рендеринга CSS в браузерах и одна из многих причин не пытаться сделать графику на CSS, а делать такое с помощью SVG.

@lazyrider
Copy link

@pepelsbey, Понял, спс за ответ! Решил для тренировки сделать.
В результате идеально получилось (через outline), но больше не буду так усложнять жизнь).

Просто из какой-то лекции запомнилось, что если можно что-то сделать на CSS, и графика не сложная, то это всегда лучше.
А может, я не совсем правильно понял.

@pepelsbey
Copy link
Author

Квадраты и круги — это несложная графика, но если нужно что-то поворачивать и пытаться попасть в макет, то лучше просто взять иконку.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment