From f8453a8eac293514970b0ac09f8cce5c335023a5 Mon Sep 17 00:00:00 2001
From: Sebastian Kawelke <sebastian.kawelke@l3montree.com>
Date: Fri, 7 Feb 2025 21:31:32 +0100
Subject: [PATCH] Some improvements for accessability

Signed-off-by: Sebastian Kawelke <sebastian.kawelke@l3montree.com>
---
 .glossary.yaml                             |  5 ++-
 src/pages/_document.tsx                    | 13 ++++++++
 src/pages/_meta.ts                         |  3 ++
 src/pages/concepts/configuration/index.mdx |  5 ++-
 src/pages/declaration-on-accessibility.mdx |  5 +++
 src/pages/index.mdx                        |  4 +--
 theme.config.tsx                           | 37 ++++++++++++++++------
 7 files changed, 58 insertions(+), 14 deletions(-)
 create mode 100644 src/pages/_document.tsx
 create mode 100644 src/pages/declaration-on-accessibility.mdx

diff --git a/.glossary.yaml b/.glossary.yaml
index 6fdfceb..a24b3ad 100644
--- a/.glossary.yaml
+++ b/.glossary.yaml
@@ -1,3 +1,6 @@
 HTML: HyperText Markup Language
 API: Application Programming Interface
-URL: Uniform Resource Locator
\ No newline at end of file
+URL: Uniform Resource Locator
+JSON: JavaScript Object Notation
+CI pipeline: Continuous Integration Pipeline
+TBD: To Be Discussed
\ No newline at end of file
diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx
new file mode 100644
index 0000000..138cd8d
--- /dev/null
+++ b/src/pages/_document.tsx
@@ -0,0 +1,13 @@
+import { Html, Head, Main, NextScript } from 'next/document'
+
+export default function Document() {
+    return (
+        <Html lang="en">
+            <Head />
+            <body>
+                <Main />
+                <NextScript />
+            </body>
+        </Html>
+    )
+}
diff --git a/src/pages/_meta.ts b/src/pages/_meta.ts
index 0795a1c..bc5576f 100644
--- a/src/pages/_meta.ts
+++ b/src/pages/_meta.ts
@@ -8,4 +8,7 @@ export default {
         href: 'https://opencode.de/en',
         newWindow: true,
     },
+    'declaration-on-accessibility': {
+        display: 'hidden',
+    },
 }
diff --git a/src/pages/concepts/configuration/index.mdx b/src/pages/concepts/configuration/index.mdx
index c00e6af..b7ee36d 100644
--- a/src/pages/concepts/configuration/index.mdx
+++ b/src/pages/concepts/configuration/index.mdx
@@ -6,7 +6,10 @@ import { Callout } from 'nextra/components'
   You can find the configuration file of the official instance [here →](https://gitlab.opencode.de/open-code/badgebackend/badge-api/-/blob/main/.badge-api.yaml)
 </Callout>
 
-The `.badge-api.yaml` configuration file defines a list of badges, their levels and their criteria. The file is structured as follows:
+The `.badge-api.yaml` configuration file defines a list of badges, their levels and their criteria. The file is structured as follows.
+
+Find an overview of the implemented checks [here →](/concepts/implemented-checks).<br />
+Details about manual checks can be found [here →](/concepts/configuration/manual-checks).
 
 ```yaml filename=".badge-api.yaml" copy
 badges:
diff --git a/src/pages/declaration-on-accessibility.mdx b/src/pages/declaration-on-accessibility.mdx
new file mode 100644
index 0000000..f226dc8
--- /dev/null
+++ b/src/pages/declaration-on-accessibility.mdx
@@ -0,0 +1,5 @@
+# Declaration on accessibility
+The Center for Digital Sovereignty of Public Administration (ZenDiS) GmbH endeavors
+to make its digital offerings accessible in accordance with the provisions of the
+Disability Equality Act (BGG) and the Accessible Information Technology Ordinance (BITV 2.0)
+for the implementation of Directive (EU) 2016/2102.
\ No newline at end of file
diff --git a/src/pages/index.mdx b/src/pages/index.mdx
index 94f083a..9878ad6 100644
--- a/src/pages/index.mdx
+++ b/src/pages/index.mdx
@@ -5,10 +5,10 @@ title: Introduction
 
 # Badge API
 
-<div className="flex justify-center"><img src="/assets/badges/badges-stacked.svg" className="h-32"/></div>
+<div className="flex justify-center"><img src="/assets/badges/badges-stacked.svg" alt="Badges" className="h-32"/></div>
 
 The Badge API is a service scanning repositories for specific criteria and generating badges based on the results. 
-The badges are displayed in the Open CoDE software catalog and indicate the status of the repository in terms of **security**, **maintenance**, and **reuse**.
+The badges are displayed in the [OpenCode software catalog](https://opencode.de/en/software) and indicate the status of the repository in terms of **security**, **maintenance**, and **reuse**.
 
 You can interact with the Badge API by submitting a repository URL and receiving a badge based on the criteria that the repository meets. The API will 
 provide you a detailed explanation of the result too. 
diff --git a/theme.config.tsx b/theme.config.tsx
index 65c66f3..8a4cee8 100644
--- a/theme.config.tsx
+++ b/theme.config.tsx
@@ -2,6 +2,8 @@ import React from 'react'
 import { DocsThemeConfig, useConfig } from 'nextra-theme-docs'
 import Image from 'next/image'
 import { useRouter } from 'next/router'
+import Link from 'next/link'
+import { ExclamationCircleIcon } from '@heroicons/react/24/outline'
 
 const config: DocsThemeConfig = {
     head() {
@@ -61,7 +63,7 @@ const config: DocsThemeConfig = {
         icon: (
             <Image
                 src="/opencode-icon.svg"
-                alt="Open CoDE Icon"
+                alt="OpenCode Icon"
                 width={32}
                 height={32}
             />
@@ -95,25 +97,40 @@ const config: DocsThemeConfig = {
     footer: {
         content: (
             <div className="flex w-full flex-col items-center text-sm sm:items-start">
-                <div className="grid grid-cols-2 gap-4">
-                    <a
-                        className="text-blue-500 hover:text-blue-300"
+                <div className="flex space-x-6">
+                    <Link
+                        className="text-blue-600 hover:text-blue-400"
                         title="Impressum"
                         href="https://opencode.de/de/impressum"
                         target="_blank"
                         rel="noopener noreferrer"
                     >
-                        <span>Impressum</span>
-                    </a>
-                    <a
-                        className="text-blue-500 hover:text-blue-300"
+                        Imprint
+                    </Link>
+                    <Link
+                        className="text-blue-600 hover:text-blue-400"
                         title="Datenschutz"
                         href="https://opencode.de/de/datenschutz"
                         target="_blank"
                         rel="noopener noreferrer"
                     >
-                        <span>Datenschutz</span>
-                    </a>
+                        Data Privacy
+                    </Link>
+                    <Link
+                        className="text-blue-600 hover:text-blue-400"
+                        title="Datenschutz"
+                        href="/declaration-on-accessibility"
+                    >
+                        Declaration on accessibility
+                    </Link>
+                    <Link
+                        className="text-blue-600 hover:text-blue-400"
+                        title="Datenschutz"
+                        href="mailto:info@opencode.de"
+                    >
+                        <ExclamationCircleIcon className="-mt-1 mr-1 inline h-4 w-4" />
+                        Feedback on barriers
+                    </Link>
                 </div>
                 <p className="mt-4">
                     © {new Date().getFullYear()} Zentrum für Digitale
-- 
GitLab