Too many elements and interactive features nested in Heading element.

Description

Location: 05 Course - Peer Assessment

Severity: 3

Description: The headings used for each step includes the button to expand it, the text below it and the Status on the right side. When the heading contains the entire block, each element is rendered as heading level 4 with a screen reader which may be confusing to understand the structure of the page

Pattern: None

Auditor Note: Developers must ensure the proper text is implemented as a heading. In this case, only the title of that section should be a heading. The text indicating the status and the text for the due date should be rendered as static text. In addition, this would help with the label of the button as well since currently the label is rendered as the section title and the due date text which is long.
Compliant example:
<h4 class="step__title">
<button aria-describedby="deadline status" class="ui-slidable" aria-expanded="false" id="oa_response..." aria-controls="oa_response_block-v1...">
...<span class="step__label">Your Response</span>
</button>
</h4>
<span class="step__deadline">
<span id="deadline" class="date ora-datetime" ...>due Jan 1, 2029 00:00 GMT (in 11&nbsp;years, 4&nbsp;months)</span>
</span>

<span class="step__status">
<span id="status" class="step_status_value"><
...
Complete
</span>
</span>

Internal Note: I agree with this assessment. Can we get these status indicators outside of the Heading element?

Requirements

  1. Pull the button element outside of the h4 element.

    1. Add an aria-labeledby attribute to the button pointing at the title

    2. Add an id to the title element (the deepest one, containing the actual text of the assessment step - e.g. "Your Response")

    3. Add a caret icon to the button, make this the main control (see screenshots below).

  2. Add an aria-describedby attribute to the step__title elements pointing at the deadline and status

    1. We have to add ids to the status and deadline elements for this attribute to point to.

  3. Do the above for all of the appropriate templates in the response, peer, grade, and self directories (these correspond to each of the different steps available for an open response assessment).

Dev Notes

Steps to Reproduce

None

Current Behavior

None

Expected Behavior

None

Reason for Variance

None

Release Notes

None

User Impact Summary

None

Status

Assignee

Alex Dusenbery

Reporter

Mark Sadecki

Reach

None

Impact

None

Platform Area

None

Customer

None

Partner Manager

None

URL

None

Contributor Name

None

Groups with Read-Only Access

None

Story Points

2

Actual Points

None

Category of Work

None

Platform Map Area (Levels 1 &amp; 2)

None

Platform Map Area (Levels 3 &amp; 4)

None

Epic Link

Fix versions

Due date

2014/04/15

Priority

CAT-2
Configure