Filters: Tapping checkboxes and radio buttons does not always work on iOS with VoiceOver


Steps to reproduce

I'm going to assume you're using iOS 11.4 and are unfamiliar with VoiceOver. If you're using a different version, you may need to Google for directions.

  1. In Safari, open a page with filters

  2. In iOS's Settings, tap General

  3. Tap Accessibility

  4. Tap VoiceOver

  5. Toggle VoiceOver on

    • Note the instructions about tapping once to select an item, twice to activate the selected item, and swiping with three fingers to scroll!

  6. Return to Safari

    • The easiest way to do this, rather than switching between apps, is probably to press the home button, tap Safari once to select it, and then tap it very quickly twice to open it. No, do it quicker – by default, you have about 0.25s between tap 1 and tap 2, or else it will just act as selecting twice.

  7. Tap Filters once to select, then double tap very quickly to open

  8. Tap Fandoms (or another option) in the filters to select, then double tap quickly to expand the section

  9. Tap the checkbox or radio button (not the text) to select it

What happens

You'll notice the black outline extends beyond the grey of the filters, as in the screenshot below. Well, if you double tap the checkbox with the intention of checking it, sometimes it'll work, but other times it might close the filters or do something else unpleasant.

What should happen

The black outline should not extend beyond the grey of the filters, as in the screenshot below. The checkbox should be checked when you do the double tap.

Testing notes

This issue was caused by the fix for AO3-5370, so I'm going to try a CSS hack that will let us keep the fix in Safari 9. That means that in addition to testing the behavior in iOS with VoiceOver, you'll need to re-test to make sure it remains fixed.

It wouldn't hurt to check that the filter behavior is unchanged in other browsers as well.


If you tap the text instead of the checkbox, everything works fine.









Affects versions

Fix versions






Internal 0.9