diff --git a/assets/css/abstracts/_a11y.scss b/assets/css/abstracts/_a11y.scss
new file mode 100644
index 0000000..c788b23
--- /dev/null
+++ b/assets/css/abstracts/_a11y.scss
@@ -0,0 +1,13 @@
+// --------------------------------------------------
+// A11Y
+// --------------------------------------------------
+
+@mixin visually-hidden {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+ clip: rect(0 0 0 0); // Legacy declaration for Internet Explorer
+ clip-path: inset(50%);
+ white-space: nowrap;
+}
diff --git a/assets/css/abstracts/_index.scss b/assets/css/abstracts/_index.scss
index 8d249cf..a29e856 100644
--- a/assets/css/abstracts/_index.scss
+++ b/assets/css/abstracts/_index.scss
@@ -2,4 +2,5 @@
// ABSTRACTS (INDEX)
// --------------------------------------------------
+@forward "a11y";
@forward "variables";
diff --git a/assets/css/pages/_cv.scss b/assets/css/pages/_cv.scss
index 98e14ec..c3dd7d2 100644
--- a/assets/css/pages/_cv.scss
+++ b/assets/css/pages/_cv.scss
@@ -6,6 +6,10 @@
.cv {
+ .cv__title {
+ @include visually-hidden;
+ }
+
.cv__content {
display: grid;
grid-template-columns: auto 1fr;
diff --git a/assets/css/pages/_home.scss b/assets/css/pages/_home.scss
index 48c444e..a20d9ca 100644
--- a/assets/css/pages/_home.scss
+++ b/assets/css/pages/_home.scss
@@ -6,6 +6,10 @@
.home {
+ .home__title {
+ @include visually-hidden;
+ }
+
.home__gallery {
display: flex;
flex-direction: column;
diff --git a/site/templates/cv.twig b/site/templates/cv.twig
index 1afe4e4..1238ac8 100644
--- a/site/templates/cv.twig
+++ b/site/templates/cv.twig
@@ -3,6 +3,8 @@
{% block main %}
+ {{ page.title }}
+
diff --git a/site/templates/home.twig b/site/templates/home.twig
index 8818363..9100d1c 100644
--- a/site/templates/home.twig
+++ b/site/templates/home.twig
@@ -3,6 +3,8 @@
{% block main %}
+ {{ page.title }}
+
{% for galleryItem in galleryItems %}