UNPKG

@casoon/dragonfly

Version:

Modular, lightweight CSS framework and design system for modern web projects. Optimized for Astro JS, LightningCSS and Container Queries with @layer-based architecture and comprehensive accessibility.

162 lines (139 loc) 3.89 kB
/* * Accessibility - ARIA Support * * Styles und Utilities für ARIA-Rollen und -Attribute. * Diese Datei enthält Definitionen für konsistentes Styling von ARIA-Rollen. */ @layer accessibility { /* * ARIA-Rollen Styling * * Konsistentes Styling für verschiedene ARIA-Rollen, * um die visuelle Darstellung mit der semantischen Bedeutung in Einklang zu bringen. */ /* Dialog und Modal-Dialoge */ [role="dialog"], [role="alertdialog"] { background-color: var(--color-surface); border-radius: var(--border-radius-lg); box-shadow: var(--shadow-xl); max-height: 9%0; overflow-y: auto; position: relative; z-index: var(--z-index-modal); } /* Navigation */ [role="navigation"] { display: flex; flex-wrap: wrap; } /* Tabs */ [role="tablist"] { border-bottom: var(--border-width) solid var(--color-border); display: flex; } [role="tab"] { background: none; border: none; border-bottom: var(--border-width-thick) solid transparent; cursor: pointer; padding: 0.5rem var(--spacing-4); } [role="tab"][aria-selected="true"] { border-bottom-color: var(--color-primary-500); color: var(--color-primary-600); font-weight: var(--font-weight-medium); /* Konsolidiert von separater Definition */ } [role="tabpanel"] { padding: var(--spacing-4) 0; } /* Menüs */ [role="menu"] { background-color: var(--color-surface); border: var(--border-width) solid var(--color-border); border-radius: var(--border-radius-md); box-shadow: var(--shadow-md); display: flex; flex-direction: column; min-width: var(--spacing-40); padding: 0.5rem 0; } [role="menuitem"] { cursor: pointer; padding: 0.5rem var(--spacing-4); } [role="menuitem"]:hover, [role="menuitem"]:focus { background-color: var(--color-surface-hover); } /* Listen */ [role="list"] { list-style: none; margin: 0; padding: 0; } [role="listitem"] { padding: 0.5rem 0; } /* Tooltips */ [role="tooltip"] { background-color: var(--color-surface); border: var(--border-width) solid var(--color-border); border-radius: var(--border-radius-sm); box-shadow: var(--shadow-md); max-width: var(--spacing-80); padding: 0.5rem; position: absolute; z-index: var(--z-index-tooltip); } /* Alert und Benachrichtigungen */ [role="alert"], [role="status"], [role="log"] { background-color: var(--color-surface); border-left: var(--spacing-1) solid var(--color-info); border-radius: var(--border-radius-md); margin: var(--spacing-4) 0; padding: var(--spacing-4); } [role="alert"] { border-left-color: var(--color-error); } [role="status"] { border-left-color: var(--color-success); } /* * ARIA-Attribute Styling * * Visuelles Feedback für verschiedene ARIA-Attribute, * um Zustandsänderungen deutlicher zu machen. */ /* Erweiterte Elemente */ [aria-expanded="true"] { /* Zusätzliche Stile für erweiterte Elemente */ } /* Ausgewählte Elemente - bereits in [role="tab"][aria-selected="true"] konsolidiert */ /* Aktive Elemente */ [aria-current="page"], [aria-current="step"], [aria-current="location"], [aria-current="date"], [aria-current="time"] { color: var(--color-primary-700); font-weight: var(--font-weight-semibold); } /* Gedrückte Elemente */ [aria-pressed="true"] { background-color: var(--color-primary-200); border-color: var(--color-primary-400); } /* Kontrollierte Elemente */ [aria-controls]:focus { outline: var(--focus-ring); } /* Beschriebene Elemente */ [aria-describedby] { /* Subtile Markierung für Elemente mit Beschreibung */ border-bottom: var(--border-width) dotted var(--color-border); } }