Есть ли способ игнорировать элемент доступности только при навигации с помощью свайпов?

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

Теперь в нашем приложении есть значок UITableView с кнопкой в ​​каждой ячейке, которая используется редко, но функционально важна.

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

Мы просеяли UIAccessibilityTraits но безрезультатно. Знаете ли вы способ добиться такого поведения?

Не придираться, но "VoiceOver mode provides two ways to navigate through elements" не совсем точно. Есть гораздо больше способов навигации, чем два, которые вы упомянули. Ротор предоставляет еще несколько — навигацию по вертикали, навигацию по кнопкам, навигацию по строкам таблицы и т. д. Сколько из них ваш пользователь хочет игнорировать? Я думаю, что это плохая идея — предполагать, что каждый пользователь VO перемещается одинаково, и вам не следует пытаться скрыть элементы, основанные на навигации по жестам. Идея @ david - лучшая альтернатива.

slugolicious 12.06.2019 17:33

@slugolicious Ага, именно это мы и решили реализовать. Этот подход должен лучше сочетаться с другими аспектами функций специальных возможностей. Спасибо за ваш вклад!

Şafak Gezer 12.06.2019 22:55
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
2
679
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Я не думаю, что видел такое поведение — пропуск фокусируемых элементов — ни в одном приложении. Вместо этого ячейки табличного представления, в которых есть кнопки, обычно обеспечивают функциональность кнопок как "нестандартное действие". Когда VoiceOver фокусируется на ячейке, он информирует пользователя о доступных настраиваемых действиях, и пользователь может провести пальцем вверх или вниз, чтобы изменить действие, вызываемое при активации элемента/ячейки (двойным касанием).

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

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