Location: 06 Discussion - Add Post
Severity: 3
Description: <li class="forum-nav-browse-menu-item" id="Welcome"><span class="forum-nav-browse-title">Welcome</span><ul class="forum-nav-browse-submenu"><li class="forum-nav-browse-menu-item" data-discussion-id="e4905176df5f8ee98dde060b93ff9c88924e2bfa" id="e4905176df5f8ee98dde060b93ff9c88924e2bfa" data-divided="false" role="option"><span class="forum-nav-browse-title">Example inline discussion</span></li></ul></li>
Pattern: None
Auditor Note: This element does not have a ul element (without an aria-assigned role); ol element (without an aria-assigned role); or element with a role set to the value: list as a parent.
Internal Note: We should take a low-tech approach to solving this. I recommend simply pre-pending the name of the parent to the title of the child (see comment below). We will also have to add some role definitions to the UL and LI elements. Currently, there is some inconsistency.
is going to take a look at the second option above and draw something up.
just wondering if you have any updates on this one!
FYI: I started looking into this, pausing work on it for now. We are going to go with Alex's "super-hacky" solution and include screenreader text that contains the entire tree for each subsection.
Relevant file to change is lms/templates/discussion/_filter_dropdown.html
The function render_dropdown is called with a category_map, that looks like this:
The HTML should look something like the following:
Please note the inclusion of the comma and the space inside the new SR span. This will improve the readability of the menu item. also, per the auditor's note, we need to add role=option to all the outside span elements (not the sr ones), and role=presentation to all of the LI and UL elements. Currently, the role="option" on the child LI's is incorrect.