Skip to content

Commit aac9559

Browse files
authored
Merge pull request #84 from zensical/fix/a11y
fix: skip link doesn't work when no `h1` is present in Markdown (#79)
2 parents 3808055 + 674a877 commit aac9559

File tree

8 files changed

+27
-10
lines changed

8 files changed

+27
-10
lines changed

dist/base.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,17 @@
104104
{% set features = config.theme.features or [] %}
105105
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
106106
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
107-
<label class="md-overlay" for="__drawer"></label>
107+
<label class="md-overlay" for="__drawer" aria-label="{{ lang.t('nav') }}"></label>
108108
<div data-md-component="skip">
109109
{% if page.toc | first is defined %}
110110
{% set skip = page.toc | first %}
111111
<a href="{{ skip.url | url }}" class="md-skip">
112112
{{ lang.t("action.skip") }}
113113
</a>
114+
{% else %}
115+
<a href="#__skip" class="md-skip">
116+
{{ lang.t("action.skip") }}
117+
</a>
114118
{% endif %}
115119
</div>
116120
<div data-md-component="announce">

dist/partials/content.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
-#}
44
{% include "partials/actions.html" %}
55
{% if "\u003ch1" not in page.content %}
6-
<h1>{{ page.title | d(config.site_name, true)}}</h1>
6+
<h1 id="__skip">{{ page.title | d(config.site_name, true)}}</h1>
77
{% endif %}
88
{{ page.content }}
99
{% include "partials/tags.html" %}

dist/partials/header.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<a href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}" title="{{ config.site_name | e }}" class="md-header__button md-logo" aria-label="{{ config.site_name }}" data-md-component="logo">
1313
{% include "partials/logo.html" %}
1414
</a>
15-
<label class="md-header__button md-icon" for="__drawer">
15+
<label class="md-header__button md-icon" for="__drawer" aria-label="{{ lang.t('nav') }}">
1616
{% set icon = config.theme.icon.menu or "material/menu" %}
1717
{% include ".icons/" ~ icon ~ ".svg" %}
1818
</label>
@@ -48,7 +48,7 @@
4848
{% if "search" in config.plugins %}
4949
{% set search = config.plugins["search"] | attr("config") %}
5050
{% if search.enabled %}
51-
<label class="md-header__button md-icon" for="__search">
51+
<label class="md-header__button md-icon" for="__search" aria-label="{{ lang.t('search') }}">
5252
{% set icon = config.theme.icon.search or "material/magnify" %}
5353
{% include ".icons/" ~ icon ~ ".svg" %}
5454
</label>

dist/partials/logo.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
This file was automatically generated - do not edit
33
-#}
44
{% if config.theme.logo %}
5-
<img src="{{ config.theme.logo | url }}" alt="logo">
5+
<img src="{{ config.theme.logo | url }}" alt="{{ config.site_name }}">
66
{% else %}
77
{% set icon = config.theme.icon.logo or "material/library" %}
88
{% include ".icons/" ~ icon ~ ".svg" %}

src/base.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,10 @@
205205
/>
206206

207207
<!-- Overlay for expanded drawer -->
208-
<label class="md-overlay" for="__drawer"></label>
208+
<label
209+
class="md-overlay" for="__drawer"
210+
aria-label="{{ lang.t('nav') }}"
211+
></label>
209212

210213
<!-- Skip to content -->
211214
<div data-md-component="skip">
@@ -214,6 +217,10 @@
214217
<a href="{{ skip.url | url }}" class="md-skip">
215218
{{ lang.t("action.skip") }}
216219
</a>
220+
{% else %}
221+
<a href="#__skip" class="md-skip">
222+
{{ lang.t("action.skip") }}
223+
</a>
217224
{% endif %}
218225
</div>
219226

src/partials/content.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
page title (or respectively site name) is used as the main headline.
3232
-->
3333
{% if "\u003ch1" not in page.content %}
34-
<h1>{{ page.title | d(config.site_name, true)}}</h1>
34+
<h1 id="__skip">{{ page.title | d(config.site_name, true)}}</h1>
3535
{% endif %}
3636

3737
<!-- Page content -->

src/partials/header.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@
5050
</a>
5151

5252
<!-- Button to open drawer -->
53-
<label class="md-header__button md-icon" for="__drawer">
53+
<label
54+
class="md-header__button md-icon" for="__drawer"
55+
aria-label="{{ lang.t('nav') }}"
56+
>
5457
{% set icon = config.theme.icon.menu or "material/menu" %}
5558
{% include ".icons/" ~ icon ~ ".svg" %}
5659
</label>
@@ -98,7 +101,10 @@
98101

99102
<!-- Check if search is actually enabled - see https://t.ly/DT_0V -->
100103
{% if search.enabled %}
101-
<label class="md-header__button md-icon" for="__search">
104+
<label
105+
class="md-header__button md-icon" for="__search"
106+
aria-label="{{ lang.t('search') }}"
107+
>
102108
{% set icon = config.theme.icon.search or "material/magnify" %}
103109
{% include ".icons/" ~ icon ~ ".svg" %}
104110
</label>

src/partials/logo.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
<!-- Logo -->
2727
{% if config.theme.logo %}
28-
<img src="{{ config.theme.logo | url }}" alt="logo" />
28+
<img src="{{ config.theme.logo | url }}" alt="{{ config.site_name }}" />
2929
{% else %}
3030
{% set icon = config.theme.icon.logo or "material/library" %}
3131
{% include ".icons/" ~ icon ~ ".svg" %}

0 commit comments

Comments
 (0)