Android accessibility IMPORTANT_FOR_ACCESSIBILITY_NO is not respected

When you set importantForAccessibility to no, you’re only hiding the single view. You want to find the layout for the advertisement, and hide it and all of its descendants.

android:importantForAccessibility="noHideDescendants"

Should you want to do it programmatically, the constant you are looking for is:

IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS

Note: YOU ABSOLUTELY SHOULD NOT, do this. Advertisements are annoying for everyone. Separate is not equal. By hiding information, even annoying information, from VoiceOver you are breaking at least half a dozen WCag 2.0 criteria and making your application less accessible.

Leave a Comment