Sorry for the drama, but I am a bit desperate over this. I'm definitely having a LOT of difficulty meeting my organization's accessibility requirements with Tableau.
At the moment, I have a filter that refuses to appear in the phone layout's tab order.
Note that this filter and its source worksheet only appear in my dashboard's phone layout -- not in the default layout.
Things I've tried:
- Added a miniature version of the filter's parent worksheet to the default layout
- Added a miniature of the filter itself to the default layout
- In the dashboard XML, set enable-sort-zone-taborder='false' and changed the zone ID manually to ID='330'. This works fine with other elements, but not with this filter.
- When the above didn't work, I tried removing the filter from the phone layout and re-adding it --this time by right-clicking on the filter in the Phone Layout element list, and selecting 'Add Zone to Phone.' Then I edited the zone in the XML but that didn't work either.
I don't know if this is relevant, but for some reason, the filter element appears slightly different in the phone layout element list when it's been generated via the context menu vs. by dragging the filter onto the phone layout (see below). But neither of these elements seems to obtain focus when its zone is assigned a unique ID number in the dashboard's XML.
Has anyone else run into this issue? I'm hesitant to modify zone ID's in custom layouts at all because it often seems to corrupt the layout which causes Tableau to crash when I attempt to re-open the workbook.
Thanks to everyone who's weighed in here. It's much appreciated.
I've made some headway in understanding this issue. It looks like the filter wouldn't appear on my phone layout because its parent worksheet isn't present in that device layout. (I have 2 versions of the parent worksheet, one for each device layout with the phone version being more compact.)
It turns out that it's very difficult, if not impossible, to meet the accessibility requirements for keyboard focus order if one of your device layouts contains elements that don't appear in your other layouts. This is because mismatched zone IDs across device layouts cause Tableau to crash, so every dashboard element must appear in all layouts in identical tab order. To hide elements like worksheets or textboxes that were extraneous, I had resorted to reducing their size to 1 x 1 pixels, but they still appear in the tab order, which violates accessibility standards (such as WCAG 2.1) which "require that every interactive element reachable via the Tab key must be visible to the user and present a visible focus indicator when active." My alternative approach involved placing those hidden elements at the end of the tab order, but the mismatching zone IDs cause Tableau to crash altogether.
This has become a very vexing problem. I'm hoping that someone who deals with accessibility at Tableau can weigh in on recommended solutions.