openedx / openedx/frontend-app-discussions

Accessibility Issue in Post Content Field (Discussion MFE)

Open
#804 0 comments 0 reactions 0 assignees View on GitHub

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 like aria-label, aria-invalid, and aria-describedby.
    • As a result, users relying on screen readers may have difficulty understanding and interacting with the field.

Recommendation:

  • At minimum, add the aria-invalid attribute to the post content field when it is left empty.
  • Ideally, replace the iframe with a proper <textarea> element that includes:
    • aria-label to describe the field,
    • aria-invalid to indicate errors,
    • aria-describedby linked to error messages for better context.

Action Needed:

  • Implement aria-invalid on the post content field to improve accessibility for screen readers.

Post Content fields

Image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.