Как выразить несколько цен для программ чтения с экрана?

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

  1. Первоначальная цена (зачеркнуто)
  2. Цена со скидкой (сколько фактически заплатит покупатель)
  3. Экономия (ориг - со скидкой)

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

В настоящее время VoiceOver воспринимает нашу цену как «цена, 9,99 долларов США [TAB]», продажа, 7,99 долларов США, «[TAB]» экономия, 2 доллара США ».

Мы рассматриваем возможность переименовать все это в один оператор, чтобы пользователю не приходилось перебирать каждую цену. «было 9,99 доллара, сейчас продается по 7,99 доллара, сэкономьте 2 доллара»

Сработает ли вышеперечисленное, или есть более стандартизированный способ сообщить об этом?

Используете ли вы зачеркивание с помощью <s>$9.99</s> или <del>$9.99</del>?

Tsundoku 08.01.2019 18:47

@ChristopheStrobbe, тьфу, тоже. Это промежуток с текстовым оформлением: сквозная строка;

btzmacin 09.01.2019 19:07
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
2
989
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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

Чего вы должны абсолютно избегать, так это предоставления (неявно) информации только посредством ее визуального форматирования. Например, вычеркивание цен без явного указания где-то, что это исходная цена и что в настоящее время действует скидка, создает проблему доступности для пользователей программ чтения с экрана и тех, кто может плохо видеть зачеркнутый.

Итак, в основном вы на правильном пути, указывая все в текстовом виде.

Теперь, лично по опыту как пользователь программы чтения с экрана, начиная с вашего примера, я бы сказал:

  • Сначала укажите цену со скидкой, а затем первоначальную цену, потому что то, что я собираюсь заплатить, - это информация, которую я ищу в первую очередь.
  • Будьте умны и дайте полную информацию в одном кратком сообщении. Пример: «7,99 доллара вместо 9,99 доллара, экономия 2 доллара».
  • Не стоит экономить в первую очередь, так как это легко может быть воспринято как чрезмерная маркетинговая манипуляция. Пример: «Сэкономьте 20%! 10 долларов вместо 12» vs. «10 долларов вместо 12 - сэкономьте 20%!»

Спасибо за это. Это то, что я собираюсь представить и посмотреть, что думают UX и бизнес.

btzmacin 09.01.2019 19:38

@QuentinC дает несколько хороших советов по порядку информации (самое важное в первую очередь - цена, которую вы собираетесь заплатить), но одна вещь, которая беспокоит меня в OP, - это то, почему пользователь переходит на tab по всем ценам. Цены интерактивны?

Или, возможно, это просто вопрос терминологии. Я думаю, что под tab вы действительно имеете в виду смахивание вправо, чтобы переместить фокус VoiceOver.

Одна вещь, которую следует учитывать, если вы решите сделать это одним большим предложением, - это немного усложняет синтаксический анализ всей этой информации. Пользователь VoiceOver может изменить свой ротор на «слова», а затем смахивать вверх / вниз, чтобы перемещаться по слову за раз, чтобы услышать информацию, но, возможно, это не лучший способ заставить их сделать это. Но тот факт, что вы предоставляете всю эту информацию, действительно важная часть, так что вам спасибо.

Кроме того, VoiceOver останавливается на границах элемента, когда вы проводите вправо, поэтому, если у вас есть что-то вроде:

<div>
  <span>hello</span>
  <s>there</s>
  <span>world</span>
</div>

Вы услышите «привет», swipe right, там, «мир swipe right».

Если вы просто хотите услышать «hello there world» одним движением пальца, тогда вам понадобится «текстовая» роль недокументированный (и, следовательно, официально не поддерживаемая).

<div role = "text">
  <span>hello</span>
  <s>there</s>
  <span>world</span>
</div>

В качестве примечания, хотя <s> и <del> являются семантическими элементами, их значение не передается программам чтения с экрана. Один из способов справиться с этим задокументирован в «Краткое примечание о том, как оставить свой след (более доступно)».

Спасибо за это, закадровый голос стал подарком для нашего проекта доступности. Я хочу объединить всю эту информацию в один длинный оператор, чтобы ни один из элементов не был интерактивным. Это страница со списком продуктов, поэтому каждая плитка в сетке представляет собой ссылку, которая ведет на одну и ту же страницу сведений о продукте, независимо от того, нажимаете ли вы название продукта, изображение или цену. Есть кнопка добавления в корзину, которую мы хотим сохранить отдельно, но в остальном я думаю, что имеет смысл кратко читать всю сводку продукта без необходимости для пользователя вкладывать / пролистывать.

btzmacin 09.01.2019 19:12

Would the above work, or is there a more standardized way to communicate this?

Не следует отвлекать внимание, вводя в программу чтения с экрана слишком много информации.

Я не говорю, что это стандартное решение, но решение, которое вы должны рассмотреть, - просто игнорировать старую цену с помощью aria-hidden: $7.99 <div aria-hidden = "true">($9.99)</div>

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

одна из целей доступности - по возможности обеспечить равные условия для всех. если зрячие пользователи знают первоначальную цену, то об этом также следует сообщить программам чтения с экрана. это проблема доступности, если информация не предоставляется всем пользователям.

slugolicious 10.01.2019 21:24

@slugolicious Я полностью с вами согласен, но в данном случае мы говорим о тексте, который был замаскирован с помощью "вычеркивания" (что уже является проблемой для людей с плохим зрением или расстройством чтения)

Adam 10.01.2019 23:10

если он запутан и труден для чтения, его, вероятно, следует полностью удалить. это должно быть простое черно-белое решение без серых областей. либо текст есть, независимо от того, как он представлен (зачеркнутый или что-то еще), и доступен для всех пользователей, либо текста нет. золотая середина - проблема доступности. Использование aria-hidden или форматирования CSS, которое затрудняет чтение пользователями немного, создает серьезную проблему.

slugolicious 11.01.2019 22:26

Другие вопросы по теме