nextcloud / nextcloud/spreed

Parsing issues of HTML elements

Open
#7,566 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accessibility bug feature: frontend 🖌️
Dominant language
PHP
Stars
2.2k
Forks
587
Avg merge
18h 27m
Merged PRs (30d)
333

Description

Problem description

We could see that there are a number of validation errors that can cause accessibility issues. Among other things, there are several elements with identical ID-values.

There are also validation errors regarding code semantics that doesn’t follow the standard.

We had limited means to validate the code but we can affirm that there are issues that fail the WCAG-standard.

The following validation errors aren’t allowed in the WCAG-standard:

  • Elements have complete start and end tags
  • Elements are nested according to their specifications
  • Elements do not contain duplicate attributes
  • Any IDs are unique

It is worth keeping in mind that other validation errors can also cause accessibility problems. But these four are very likely to do so.

It’s generally best to keep a website’s code as close to standard as possible. This makes it more robust and minimizes risks for errors when assistive technologies interact with it.

We list some serious issues below, but there are more. We recommend that you validate the code, control that it’s semantically correct, and fix as many issues as possible.

Talk app

Some examples from the Talk app:

  • Elements without end tags
  • Button-elements nested in other buttons or link-elements
  • Div-elements nested in list-elements
  • li-elements nested in span-elements
  • Use of negative tab-index on interactive elements
  • Elements with identical id-values
Suggested solution
  • Validate the code and fix as many issues as you can, but especially any of the four that fail this WCAG-criterion
  • Follow standard as much as you can and validate anytime you build something new

(The DIV inside list I complained already about many times, mostly in the left sidebar)

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 validating the Talk app markup, especially the left sidebar where the issue reports a div inside a list. Review the reported cases for missing end tags, invalid nesting, duplicate attributes or IDs, and negative tab indexes. Done means fixing as many validation and WCAG-related issues as possible and revalidating the affected markup.

Written by the indexing model from the issue text.

Assessment

Tech stack
html, javascript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.