Using the outliner to navigate to headings inside of tabs does not work
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.5k
- Forks
- 228
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 48
Description
When a heading is used inside of a tab, it will always appear in the outline, but if the tab it is inside of is not selected, clicking it in the outline does nothing.
To Reproduce
I will attach a tarball with a minimal redocly site that reproduces this behavior, along with a screen capture demonstrating it. I used npm run dev to run the site shown in the capture.
In the tarball, run npm install then npm run dev.
Expected behavior
Either:
- Headings inside of unselected tabs do not appear in the outliner.
- Selecting a heading inside of an unselected tab first selects the tab, then navigates to the heading.
Personally, I would prefer option 2, but I think either could be argued to be correct.
Logs
N/A
npm run dev reports Previewing with @redocly/redoc-revel@0.130.4.
OpenAPI description
N/A
Redocly version(s)
$ npm ls @redocly/cli @redocly/realm @redocly/redoc-revel --depth=0
redocly-tabs-index-repro@1.0.0 /Users/cad/f/tmp/2026-05-07_redocly-tabs-index-repro
├── @redocly/cli@2.30.4
├── @redocly/realm@0.130.4
└── @redocly/redoc-revel@0.130.4
Node.js version(s)
$ npm --version
10.9.3
OS, environment
macOS Sequoia 15.7.4 on Apple Silicon.
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 unpacking the attached tarball, running npm install and npm run dev, and reproducing the failure with a heading inside an unselected tab. Trace the outliner click and tab-selection behavior in the TypeScript frontend; done means selecting the heading either activates its tab before navigating or consistently excludes headings from unselected tabs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100