-
Notifications
You must be signed in to change notification settings - Fork 3.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fixed accessibility issues in Schedule Tab in CCX #9114
Conversation
Thanks for the pull request, @amir-qayyum-khan! I've created OSPR-726 to keep track of it in JIRA. JIRA is a place for product owners to prioritize feature reviews by the engineering development teams. Feel free to add as much of the following information to the ticket:
All technical communication about the code itself will still be done via the Github pull request interface. As a reminder, our process documentation is here. |
@amir-qayyum-khan can you please post a test course and instructions of how reviewers can see this screen? Alternatively, a sandbox and links to the specific page(s) would work as well. |
Could you please rebase this when you get the chance @amir-qayyum-khan ? There's an unrelated problem that prevents proper deployment which has been fixed in the latest edx/edx-platform/master. |
These changes seem to work great on sandbox2o. When each date is set for previously added content, the schedule tab tree collapses. I'm not sure if this is desired but it may be easier for the user for the units to stay expanded. Also, start and end dates for content are remembered after content has been removed from the "schedule panel". These dates will reappear when that content is added again. I'm not sure if this is desired either. |
@bdero done with rebase |
@@ -1,3 +1,8 @@ | |||
<div align="right"> | |||
<button id="ccx_expand_all_btn" aria-expanded="true">Expand All</button> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@amir-qayyum-khan aria-expanded
is inappropriate here. aria-expanded
is used to indicate the current state of a region or a toggle control that affects the state of that region. Since these are two buttons (not a single toggle) that affect multiple regions, we don't want aria-expanded
here at all.
082d9d4
to
c314805
Compare
@@ -203,7 +214,7 @@ var edx = edx || {}; | |||
self.schedule_collection.set(self.schedule); | |||
var button = $('#dirty-schedule #save-changes'); | |||
button.prop('disabled', true).text(gettext("Saving")+'...'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this is outside of your changes but could you remove the '...' from this string? It is not compatible with internationalization (or I believe accessibility) and we've worked to remove these from strings. Obviously this one is concatenated so I missed it.
e8b33e8
to
1ad8f46
Compare
Done @sarina |
👍 from me (be sure you squash commits before you're done here) @cptvitamin can you please merge when you're satisfied? |
10c7332
to
480a2e1
Compare
Commits have been squashed. @cptvitamin @clrux is there anything more we need to do here? |
480a2e1
to
4c8e45c
Compare
@amir-qayyum-khan @pdpinch Looking very nice! 👍 |
@clrux when tests pass can you merge? Or does Mark need to give thumbs up too? |
@sarina I can, but I don't think it'll hurt to have @cptvitamin take another pass too. |
FYI this PR is currently on sandbox2o.mitx.mit.edu. Ping me or @pwilkins if you need an account. |
👍 |
Fixed accessibility issues in Schedule Tab in CCX
Background
(copied verbatim from Mark Sadecki's CCX Accessibility audit - July 17, 2015)
Unfortunately, there are some significant issues with the way the Schedule Table is implemented. In summary, there is nothing that programmatically indicates the relationship between the nested table rows. They only appear related visually by their padding-left. Also, the controls to expand/collapse have no accessible text and are not associated with the Section/Subsection/Unit name. All of these objects are conveyed as equal table rows.
Schedule Tab tree
Date picker
The accessibility of the date and time pickers associated with type=“date” and type=“time” input fields is the responsibility of the user agent. Some UAs will allow the user to manually type a date. For this to work though, it has to be in the right format. Suggest adding help text to these form fields which indicates what the acceptable format is e.g. yyyy-mm-dd or 2015–07–17. The current placeholder indicates that yyyy/mm/dd is acceptable. However Firefox and Safari accept the yyyy-mm-dd format. This makes the current placeholder misleading.
Save Changes
After adding a new unit to the schedule, the Save Changes block is added to the DOM. A screen reader user would not know this has happened. Since an action is required (“Save Changes”) it is appropriate to move focus to this new content. Suggest adding a tabindex=“–1” to this div and moving focus() to it. Saving Changes moves the focus back tot he Schedule a Unit div, and I think that is an acceptable workflow.
Other issues
Studio Updates: None.
LMS Updates: CCX schedule tab is now fix to meet edX Accessibility Guidelines.
What is done in this PR
Testing
You can use screen reading tools like chromeVox (A chrome browser plugin) or command+F5 on mac to verify this PR.
Also read http://edx-partner-course-staff.readthedocs.org/en/latest/getting_started/accessibility.html
Issue mitocw#22
issue jazkarta#120
issue jazkarta#63
issue jazkarta#30
issue jazkarta#121
@pdpinch @pwilkins @clrux