Skip to content

Commit 764e1a8

Browse files
authored
Fix h3 issue on landing page. (#8477)
1 parent 1f3eab2 commit 764e1a8

File tree

4 files changed

+17
-7
lines changed

4 files changed

+17
-7
lines changed

app/lib/frontend/templates/views/landing/mini_list.dart

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,17 @@ d.Node _title(String sectionTag, PackageView p) {
2727
return d.a(
2828
classes: ['mini-list-item-title'],
2929
href: urls.pkgPageUrl(p.name),
30-
attributes: {'data-ga-click-event': 'landing-$sectionTag-card-title'},
31-
child: d.h3(text: p.name),
30+
attributes: {
31+
'data-ga-click-event': 'landing-$sectionTag-card-title',
32+
},
33+
child: d.span(
34+
classes: ['mini-list-item-title-text'],
35+
text: p.name,
36+
attributes: {
37+
'role': 'heading',
38+
'aria-level': '2',
39+
},
40+
),
3241
);
3342
}
3443

app/test/frontend/golden/landing_page.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ <h1 class="home-block-title">Flutter Favorites</h1>
130130
<div class="mini-list">
131131
<div class="mini-list-item">
132132
<a class="mini-list-item-title" href="/packages/flutter_titanium" data-ga-click-event="landing-flutter-favorites-card-title">
133-
<h3>flutter_titanium</h3>
133+
<span class="mini-list-item-title-text" role="heading" aria-level="2">flutter_titanium</span>
134134
</a>
135135
<div class="mini-list-item-body">
136136
<p class="mini-list-item-description">flutter_titanium is awesome</p>
@@ -153,7 +153,7 @@ <h1 class="home-block-title">Most popular packages</h1>
153153
<div class="mini-list">
154154
<div class="mini-list-item">
155155
<a class="mini-list-item-title" href="/packages/neon" data-ga-click-event="landing-most-popular-card-title">
156-
<h3>neon</h3>
156+
<span class="mini-list-item-title-text" role="heading" aria-level="2">neon</span>
157157
</a>
158158
<div class="mini-list-item-body">
159159
<p class="mini-list-item-description">neon is awesome</p>
@@ -167,7 +167,7 @@ <h3>neon</h3>
167167
</div>
168168
<div class="mini-list-item">
169169
<a class="mini-list-item-title" href="/packages/oxygen" data-ga-click-event="landing-most-popular-card-title">
170-
<h3>oxygen</h3>
170+
<span class="mini-list-item-title-text" role="heading" aria-level="2">oxygen</span>
171171
</a>
172172
<div class="mini-list-item-body">
173173
<p class="mini-list-item-description">oxygen is awesome</p>

pkg/_pub_shared/lib/validation/html/html_validation.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ void validateHtml(Node root) {
178178
}
179179

180180
// "role"="<role>" attributes should be on interactive components
181-
final allowedForRole = {'a', 'form'};
181+
final allowedForRole = {'a', 'form', 'span'};
182182
for (final elem in querySelectorAll('[role]')) {
183183
final tag = elem.localName!;
184184
final role = elem.attributes['role'];

pkg/web_css/lib/src/_home.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@
127127
}
128128

129129
.mini-list-item-title {
130-
> h3 {
130+
> .mini-list-item-title-text {
131+
display: block;
131132
color: var(--pub-home_card_title-text-color);
132133
font-size: 20px;
133134
// Needs to be slightly more than 1.2, otherwise the bottom

0 commit comments

Comments
 (0)