Problem/Motivation

The Blog Canvas page banner heading in content/canvas_page/02-blog.yml omits the level input:

component_id: sdc.vartheme_bs5.heading
inputs:
  heading_text: Blog
  text_color: text-white
  text_size: display-2

The vartheme_bs5:heading SDC declares level with default: 3, so the omission silently renders the banner title as an h3 carrying display-2 text-white. The page therefore has no h1 at all, while looking correct because display-2 supplies the visual size.

It is the only one of the five shipped Canvas pages missing a level 1 heading:

File Heading levels
01-home.yml 1, 2, 2, 3
02-blog.yml none, 2, 2, 3
03-contact-us.yml 1, 2, 3, 2
04-about-varbase.yml 1, 2, 2, 2
05-features.yml 1, 2, 2, 3

Affects WCAG 2.4.6 Headings and Labels and 1.3.1 Info and Relationships.

Issue #3621200 covered the same class of problem and is Closed (fixed), but the Blog page heading still omits level on 1.0.x-dev.

Steps to reproduce

  1. Install Varbase Starter 1.0.x-dev on a Drupal CMS base.
  2. Visit /blog as an anonymous user, with no session cookie.
  3. Inspect the banner title, or run axe-core over the page.

The banner title is a level 3 heading and the page has no level 1 heading. Audited anonymously with axe-core 4.10.2 on a fresh install: /blog was the only content page failing page-has-heading-one. axe tags that rule as best practice, so a WCAG-tag-only run does not surface it.

Proposed resolution

Add level: 1 to that heading inputs. The SDC keeps semantic level and visual size separate (text_size is documented as "Optional Bootstrap typography utility. Leave empty to match the selected heading level"), so display-2 stays and nothing changes visually.

Verified on a fresh install from the patched recipe: the banner renders as a level 1 heading at 48px, identical appearance, and the page reports exactly one h1.

Out of scope: a heading component that silently defaults to level 3 will keep producing this class of defect. Changing that default would alter every existing page that omits level, across all site templates, so it is a separate decision and is not proposed here.

Remaining tasks

  • ✅ File an issue
  • ❌ Addition/Change/Update/Fix
  • ❌ Testing to ensure no regression
  • ➖ Automated unit/functional testing coverage
  • ➖ Developer Documentation support
  • ➖ User Guide Documentation support
  • ➖ UX/UI designer responsibilities
  • ❌ Accessibility and Readability
  • ❌ Reviewed by a human
  • ❌ Code review by maintainers
  • ❌ Full testing and approval
  • ❌ Credit contributors
  • ❌ Review with the product owner
  • ❌ Update Release Notes
  • ❌ Release

User interface changes

  • None. The banner keeps the same size and colour.

API changes

  • N/A

Data model changes

  • N/A

Release notes snippet

  • The Blog page banner title is now a level 1 heading, so the page has one h1. No visual change.

AI-Generated: Yes

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

rajab natshah created an issue. See original summary.

rajab natshah’s picture

Issue tags: +a11y

  • rajab natshah committed 0bf9941d on 1.0.x
    fix: #3625191 Set the Blog banner heading to level 1 so the page has an...
rajab natshah’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.