ImportantForAccessibility=false
используется, чтобы скрыть любой элемент из дерева доступности, включая кнопки, контент и т. Д. c.
contentDescription=null
полезен только для таких вещей, как изображения (могут быть другие элементы, которые я могу не нужно думать), что вы хотите скрыть, так как в противном случае дерево специальных возможностей сделает все возможное, чтобы найти подходящее имя для элемента.
Ярким примером будет ImageButton
- если вы используете contentDescription=null
тогда он объявит «кнопку» и текст пункта назначения / кнопки. Если вы используете ImportantForAccessibility=false
, то этот элемент будет полностью скрыт из дерева доступности.
Лучшая аналогия, которую я могу придумать (если вы знакомы с веб-стандартами), заключается в том, что contentDescription
похож на alt
атрибут или aria-labelledby
атрибут и ImportantForAccessibility=false
аналогичны aria-hidden="true"
.
Что касается focusable=false
, его следует использовать для таких вещей, как ImageView
s, его всегда следует использовать вместе с помощью importantForAccessibility=false
(или importantForAccessibility="no"
), чтобы убедиться, что чисто декоративный элемент полностью удален из дерева доступности.
Вероятно, есть некоторые крайние случаи, о которых я не могу думать больше всего, протестируйте его с TalkBack
или аналогичной программой чтения с экрана.