WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Controls on iOS Native App

for

From: allyssa jessicon
Date: Nov 2, 2022 5:58AM


Don't you think that not selected state also fails WCAG 4.1.2 Name,
Role, Value? and if both fails, there will have a lot failures in apps
wherever they have used checkboxes (visually)

On 11/2/22, Joe Humbert A11y (Android) < <EMAIL REMOVED> > wrote:
> Since iOS does not have a native checkbox and VoiceOver does not announce a
> "not selected" State (there isn't one unless it is added to the accessible
> name), the only WCAG violation that I can see is WCAG 4.1.2 Name, Role,
> Value because the element has no role ( I don't count the "Double-tap to
> activate" because it can be disabled by users, but some people do). Again,
> here the only available role that somewhat fits is button.
>
> I still think it should be a switch instead of a checkbox.
>
> Thankx,
>
> Joe
>
> On November 2, 2022 7:40:45 AM allyssa jessicon < <EMAIL REMOVED> >
> wrote:
>
>> Thanks for your quick response Joe,
>>
>> My question is specific to any native app where checkbox/toggle button
>> have been used which does not announce the role and unselected state.
>> is this a WCAG violation in any way?
>>
>> An example would be, a Remember me checkbox in a login screen (Any 3rd
>> party iOS native app)
>>
>>
>> On 11/2/22, Joe Humbert A11y (Android) < <EMAIL REMOVED> > wrote:
>>> Hi Allyssa,
>>>
>>>
>>> I'm not sure which elements you are talking about so I might need a reply
>>> to provide better guidance.
>>>
>>>
>>> However, iOS does not have a native checkbox element. Any element you
>>> see
>>> that visually looks like a checkbox is just that, a clickable element
>>> that
>>> looks like a checkbox. If Voiceover announces a selected state when
>>> "checked" then it has been given an accessibilityTrait of selected. It
>>> has
>>> no role because there is no checkbox role in iOS. In my opinion the
>>> developer should add an accessibilityTrait of button. Or better yet, use
>>> a
>>> native switch.
>>>
>>>
>>> As for the toggle button, I'm not sure what you mean. As it could be a
>>> lot
>>> of different elements. But similar to the checkbox, there is no native
>>> iOS
>>> right button element. So the developer is again using the
>>> accessibilityTrait of selected when it is toggled. This element should
>>> also have an accessibilityTrait of button.
>>>
>>>
>>> To my Current knowledge, and I'm happy to be corrected, Apple VoiceOver
>>> developers consciously decided to not have most elements announce an
>>> "unselected", "unchecked" state. The exception might be a switch which
>>> has
>>> states if off/on.
>>>
>>>
>>> Hope this helps.
>>>
>>> Thankx,
>>> Joe Humbert
>>> Mobile accessibility novice
>>>
>>> On November 2, 2022 7:06:30 AM allyssa jessicon
>>> < <EMAIL REMOVED> >
>>> wrote:
>>>
>>>> Hello everyone,
>>>>
>>>> Good morning!
>>>>
>>>> "Straight up to the question.
>>>>
>>>> What's the exp]ected behaviour of checkbox and toggle buttons in
>>>> native mobile applications in iOS?
>>>>
>>>> It seems that only the selected state is getting announced by
>>>> VoiceOver, for an example if I navigate to the VoiceOver rotor
>>>> settings, its announcing as Selected (without role) and if I uncheck
>>>> the same, VoiceOver does not announce anything.
>>>>
>>>> Is this an expected behavior? or are there something that I am missing?"
>>>>
>>>>
>>>> Regards,
>>>> Allyssa.
>>>> >>>> >>>> >>>> >>>
>>> >>> >>> >>> >> >> >> >> >
> > > > >