rdub.de

Barrierefreiheitserklärung

Aktualisiert: November 2023.

Allgemeines

rdub.de ist bestrebt sicherzustellen, dass seine Dienste für Menschen mit Behinderungen zugänglich sind. rdub.de hat erhebliche Ressourcen investiert, um zu helfen, seine Website einfacher nutzbar und für Menschen mit Behinderungen zugänglicher zu machen, in der festen Überzeugung, dass Bemühungen um die Zugänglichkeit der Website allen Nutzern helfen und dass jede Person das Recht hat, mit Würde, Gleichheit, Komfort und Unabhängigkeit zu leben.

Zugänglichkeit auf rdub.de

rdub.de stellt das Web Accessibility Widget von UserWay zur Verfügung, das von einem dedizierten Accessibility-Server betrieben wird. Die Software ermöglicht rdub.de, seine Übereinstimmung mit den Web Content Accessibility Guidelines (WCAG 2.1) zu verbessern.

Das Zugänglichkeitsmenü aktivieren 

Das Zugänglichkeitsmenü von rdub.de kann aktiviert werden, indem man auf das Symbol des Zugänglichkeitsmenüs klickt, das in der Ecke der Seite erscheint. Nachdem das Zugänglichkeitsmenü ausgelöst wurde, bitte einen Moment warten, bis das Zugänglichkeitsmenü vollständig geladen ist.

Haftungsausschluss

rdub.de setzt seine Bemühungen fort, die Zugänglichkeit seiner Website und Dienste ständig zu verbessern in dem Glauben, dass es unsere gemeinsame moralische Verpflichtung ist, eine nahtlose, zugängliche und ungehinderte Nutzung auch für diejenigen von uns mit Behinderungen zu ermöglichen.

In einem kontinuierlichen Bestreben, die Zugänglichkeitsprobleme immer weiter zu verbessern und zu beheben, scannen wir auch regelmäßig rdub.de mit dem Accessibility Scanner von UserWay, um jede mögliche Barriere für die Zugänglichkeit auf unserer Website zu identifizieren und zu beheben. Trotz unserer Bemühungen, alle Seiten und Inhalte auf rdub.de vollständig zugänglich zu machen, kann es sein, dass einige Inhalte noch nicht vollständig an die strengsten Standards der Barrierefreiheit angepasst wurden. Dies kann das Ergebnis davon sein, dass wir noch nicht die am besten geeignete technologische Lösung gefunden oder identifiziert haben.

Hier für Sie

Wenn Sie Schwierigkeiten mit Inhalten auf rdub.de haben oder Hilfe bei einem Teil unserer Website benötigen, kontaktieren Sie uns bitte während der üblichen Geschäftszeiten wie unten angegeben, und wir werden Ihnen gerne helfen.

Kontaktieren Sie unsWenn Sie ein Problem mit der Zugänglichkeit melden möchten, Fragen haben oder Hilfe benötigen, kontaktieren Sie bitte den Kundensupport von rdub.de wie folgt:

E-Mail: [email protected]

- End * 3. Priority: 1(oder höher) */(function () { 'use strict';function enhanceElementorForms() { // Alle Elementor Formularfelder finden const formFields = document.querySelectorAll('.elementor-form .elementor-field-group');formFields.forEach(function (fieldGroup, index) { const input = fieldGroup.querySelector('input, textarea, select'); if (!input) return;// Wenn bereits ein Label existiert, überspringen const existingLabel = fieldGroup.querySelector('label'); if (existingLabel && existingLabel.textContent.trim()) return;// Text aus Placeholder oder Field-Label holen const labelText = input.placeholder || input.getAttribute('aria-label') || fieldGroup.querySelector('.elementor-field-label')?.textContent || 'Feld ' + (index + 1);// Eindeutige ID generieren if (!input.id) { input.id = 'form-field-' + input.name || 'field-' + index + '-' + Date.now(); }// Label-Element erstellen const label = document.createElement('label'); label.setAttribute('for', input.id); label.textContent = labelText; label.className = 'elementor-field-label elementor-screen-only sr-only';// Label vor dem Input einfügen input.parentNode.insertBefore(label, input);// aria-label hinzufügen (für Screenreader) if (!input.getAttribute('aria-label')) { input.setAttribute('aria-label', labelText); }// Prüfung auf Pflichtfelder - required Attribute, Klasse oder * im Placeholder const hasRequiredAttr = input.required; const hasRequiredClass = input.classList.contains('elementor-field-required') || fieldGroup.classList.contains('elementor-field-required'); const hasAsteriskInPlaceholder = input.placeholder && input.placeholder.includes('*');if (hasRequiredAttr || hasRequiredClass || hasAsteriskInPlaceholder) { input.setAttribute('aria-required', 'true');// Wenn required Attribute fehlt, aber * im Placeholder ist, hinzufügen if (!input.required && hasAsteriskInPlaceholder) { input.required = true; }// Sternchen zum Label hinzufügen if (!label.textContent.includes('*')) { const requiredSpan = document.createElement('span'); requiredSpan.className = 'required-indicator'; requiredSpan.setAttribute('aria-hidden', 'true'); requiredSpan.textContent = ' *'; label.appendChild(requiredSpan); } }// Zusätzliche ARIA-Attribute basierend auf Input-Typ if (input.type === 'email') { input.setAttribute('aria-describedby', input.id + '-desc'); } if (input.type === 'tel') { input.setAttribute('inputmode', 'tel'); } });// aria-label zu Submit-Buttons hinzufügen const submitButtons = document.querySelectorAll('.elementor-form button[type="submit"], .elementor-form .elementor-button'); submitButtons.forEach(function (button) { if (!button.getAttribute('aria-label')) { const buttonText = button.textContent.trim() || 'Absenden'; button.setAttribute('aria-label', buttonText); } });// Role und aria-label zum Formular hinzufügen const forms = document.querySelectorAll('.elementor-form'); forms.forEach(function (form, index) { if (!form.getAttribute('aria-label')) { form.setAttribute('aria-label', 'Kontaktformular'); } if (!form.getAttribute('role')) { form.setAttribute('role', 'form'); } });// aria-live für Fehlermeldungen const errorMessages = document.querySelectorAll('.elementor-message'); errorMessages.forEach(function (msg) { msg.setAttribute('aria-live', 'polite'); msg.setAttribute('role', 'alert'); }); }// Skip Link Korrektur - Ziel für #content prüfen function fixSkipLink() { const skipLink = document.querySelector('a[href="#content"]'); const contentTarget = document.getElementById('content');if (skipLink && !contentTarget) { // Hauptinhaltsbereich finden und id="content" hinzufügen const mainContent = document.querySelector('.elementor-location-single, .site-main, main, [data-elementor-type="wp-page"]'); if (mainContent) { mainContent.id = 'content'; mainContent.setAttribute('role', 'main'); mainContent.setAttribute('tabindex', '-1'); } } }// Fokus-Sichtbarkeit verbessern function enhanceFocusVisibility() { const style = document.createElement('style'); style.textContent = ` /* Barrierefreiheit: Fokus-Indikator */ a:focus, button:focus, input:focus, textarea:focus, select:focus, [tabindex]:focus { outline: 2px solid #005fcc !important; outline-offset: 2px !important; } /* Klasse nur für Screenreader */ .sr-only, .elementor-screen-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; } /* sr-only im Fokus anzeigen (für Skip Links) */ .sr-only:focus, .elementor-screen-only:focus { position: static !important; width: auto !important; height: auto !important; padding: 0.5rem 1rem !important; margin: 0 !important; overflow: visible !important; clip: auto !important; white-space: normal !important; } `; document.head.appendChild(style); }// Beim Laden der Seite ausführen function init() { enhanceElementorForms(); fixSkipLink(); enhanceFocusVisibility();// MutationObserver für Elementor Popups const observer = new MutationObserver(function (mutations) { mutations.forEach(function (mutation) { if (mutation.addedNodes.length) { enhanceElementorForms(); } }); });observer.observe(document.body, { childList: true, subtree: true }); }// DOM Ready Check if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }// Auch nach Elementor Frontend Init ausführen if (typeof jQuery !== 'undefined') { jQuery(window).on('elementor/frontend/init', function () { setTimeout(enhanceElementorForms, 500); }); }})();