Forum Discussion
Screen Reader accessing layers that aren't active
- 8 months ago
Hi BryanVarner this is a Storyline bug and will hopefully be fixed quickly, as it is a serious accessibility bug. The table element should behave as all other elements do. I'm not sure why it is missing the aria-hidden attribute.
A hotfix solution for this would require JavaScript. I might be able to help you out if you are potentially delivering this before a proper fix comes through.
If you are interested, here's some script.
Add this to the main timeline and execute JavaScript on timeline start:
rmLocalHideTable = function(hidden, attempt) { let tries = attempt || 0; const observations = document.querySelector('table[aria-label="Table with 3 columns and 12 rows"]'); // table not found, try again if(observations === null) { if(tries !== 10) { tries += 1; setTimeout(function(){ rmLocalHideTable(hidden, tries); },100); } }else{ // table found, set aria-hidden attribute observations.setAttribute('aria-hidden',hidden); } } window.rmHideTable = function(hidden, attempt) { // add delay before running to ensure any // conflicting scripts have time to run first setTimeout(function(){ rmLocalHideTable(hidden, attempt); },500); }You can then call the following JavaScript functions to show/hide the table for screen readers:
Whenever the Data & Observations Layer layer opens, run this function:
// Make available for screen readers window.rmHideTable(false);Whenever the Data & Observations Layer layer is hidden, run this function:
// Hide from screen readers window.rmHideTable(true);I have added to your file as an example.
Interesting, thanks for figuring that out. Is there a solution for this or is that how tables typically behave in Articulate?
Hi BryanVarner this is a Storyline bug and will hopefully be fixed quickly, as it is a serious accessibility bug. The table element should behave as all other elements do. I'm not sure why it is missing the aria-hidden attribute.
A hotfix solution for this would require JavaScript. I might be able to help you out if you are potentially delivering this before a proper fix comes through.
If you are interested, here's some script.
Add this to the main timeline and execute JavaScript on timeline start:
rmLocalHideTable = function(hidden, attempt)
{
let tries = attempt || 0;
const observations = document.querySelector('table[aria-label="Table with 3 columns and 12 rows"]');
// table not found, try again
if(observations === null) {
if(tries !== 10) {
tries += 1;
setTimeout(function(){ rmLocalHideTable(hidden, tries); },100);
}
}else{
// table found, set aria-hidden attribute
observations.setAttribute('aria-hidden',hidden);
}
}
window.rmHideTable = function(hidden, attempt)
{
// add delay before running to ensure any
// conflicting scripts have time to run first
setTimeout(function(){ rmLocalHideTable(hidden, attempt); },500);
}
You can then call the following JavaScript functions to show/hide the table for screen readers:
Whenever the Data & Observations Layer layer opens, run this function:
// Make available for screen readers
window.rmHideTable(false);
Whenever the Data & Observations Layer layer is hidden, run this function:
// Hide from screen readers
window.rmHideTable(true);
I have added to your file as an example.
- BryanVarner8 months agoCommunity Member
Amazing Sam, thank you!
StevenBenassi Students will be doing this activity in April. Any insight you could provide into the timeline for this bug being fixed would be really appreciated!- StevenBenassi8 months agoStaff
Hi BryanVarner!
Thanks for following up!
I noticed you've connected with my colleague Robert, through your support case. It looks like he replied to your e-mail with some follow-up questions as well. I've updated Robert with the additional insight Sam shared, to assist while he tests your file.
We're committed to continually improving the accessibility features of our apps. If we confirm this behavior is related to a bug in Storyline, we'll work as a team to prioritize the problem. Thank you for your patience. I'm sorry if this has been slowing you down!
- Vic8 months agoCommunity Member
StevenBenassi Could you please add me to this support case. I'm having the same problem with tables on layers persisting once the layer is closed.
- StevenBenassi8 months agoStaff
Hi SamHill!
This is super helpful, thank you for sharing!
Related Content
- 17 days ago