openedx / openedx/frontend-app-discussions
Accessibility Issue in Post Content Field (Discussion MFE)
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 7
- Forks
- 113
- PR merge metrics
- No merged PRs in 30d
Description
Description:
The Post Content field is implemented using an iframe. This approach causes accessibility issues:
-
Screen Reader Compatibility:
- JAWS does not recognize a label for the iframe's edit area.
- NVDA does recognize a label, but the overall implementation is inconsistent.
-
Implementation Concerns:
- The current iframe does not use a standard
<input>or<textarea>, which limits the use of important ARIA attributes likearia-label,aria-invalid, andaria-describedby. - As a result, users relying on screen readers may have difficulty understanding and interacting with the field.
- The current iframe does not use a standard
Recommendation:
- At minimum, add the
aria-invalidattribute to the post content field when it is left empty. - Ideally, replace the iframe with a proper
<textarea>element that includes:aria-labelto describe the field,aria-invalidto indicate errors,aria-describedbylinked to error messages for better context.
Action Needed:
- Implement
aria-invalidon the post content field to improve accessibility for screen readers.
Post Content fields
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Post Content iframe implementation in frontend-app-discussions and inspect how its empty-field state and validation errors are handled. Verify the result with a screen reader or the project's existing accessibility checks. Done means the empty post content field exposes aria-invalid and its error context remains understandable to screen-reader users.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, react
- Domain
- accessibility, frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100