classtranscribe / classtranscribe/FrontEnd

Make better use of semantic h1..h6 headings for accessibility

Open
#344 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
JavaScript
Stars
24
Forks
29
PR merge metrics
No merged PRs in 30d

Description

This can help indexes and help accessibility tools navigate our site easier. Screen readers can be set to often only read headings of a page to get a quick summary. More info [FreeCodeCamp Applied Accessibility: Use Headings to Show Hierarchical Relationships of Content](https://www.freecodecamp.org/learn/responsive-web-design/applied-accessibility/use-headings-to-show-hierarchical-relationships-of-content)

Consider the homepage for example (though we probably need to do a detailed pass over the website to fix other pages, this shouldn't be too complex I hope):

```js
const levels = [1, 2, 3, 4, 5, 6];
levels.map(lvl => document.getElementsByTagName(`h${lvl}`).length)
=> Array(6) [ 0, 0, 1, 0, 0, 0 ]
```

hows that we basically only use one `h3` and that's for "Starred Courses". Having good semantic hierarchical content could look like:

h1: ClassTranscribe (banner, logos, anything)
h2: All the sections, Starred Courses, Continue Watching, Advertising...
h3: Each course number and Title

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by auditing the homepage and other rendered pages in the React frontend, using the issue's heading-count snippet to identify current semantics. Define the heading hierarchy for the banner, sections, and course entries, then verify that headings provide a navigable outline across the reviewed pages.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.