Search Results page has improper heading hierarchy

Open
#5,500 3 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
Half a day
Newbie friendliness
50/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
angular, typescript

Research direction

The payload does not name source files, so begin with the Search Results page and the components that render its filter sidebar, Advanced Search, and Settings sections, looking for where h3 and h4 are used before the page's h1. Reproduce by loading the search page and running a headings extension to list the outline. Done when the outline nests from one h1 Search Results, with the filter and settings sections as h2 and their subsections one level below, and the existing search tests still pass.

Written by the indexing model from the issue text.

Description

accessibility bug component: Discovery needs discussion

Describe the bug

The Search Results page uses headings in an incorrect order. In the current structure, level 3 and level 4 headings appear before the main page heading, and the hierarchy is not logically nested.

From the screenshot, examples include:

H3: Filters
H3: Advanced Search
H4: Filter by
H3: Settings
H4: Sort By
H4: Results per page
H1: Search Results

This makes the heading structure confusing for screen reader users and keyboard users who rely on headings to understand the page layout and navigate efficiently.

Image

To Reproduce

Steps to reproduce the behavior:

  1. Go to the search page
  2. Use e.g. headings extension.

Expected behavior

The page should have a clear, hierarchical heading structure, for example:

H1: Search Results
H2: Filters
H3: Advanced Search
H3: Filter by
H2: Settings
H3: Sort By
H3: Results per page

The exact structure may vary, but heading levels should reflect the visual and semantic organization of the page.

Related

Past ticket to do similar header hierarchy resolution: https://github.com/DSpace/dspace-angular/issues/3071

Dominant language
TypeScript
Stars
180
Forks
577
Avg merge
2d 1h
Merged PRs (30d)
100

Getting set up

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.

More from DSpace/dspace-angular

All issues in DSpace/dspace-angular

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.