.dashicons-editor-help[data-title]{ z-index: 1; } .ast-dashicons-custom-tooltip { display: none; opacity: 0; position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 100%; } .ast-dashicons-custom-tooltip[data-title]::after { content: attr(data-title); min-width: 3em; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 1ch 1.5ch; border-radius: 0.3ch; box-shadow: 0 1em 2em -0.5em rgb(0 0 0 / 35%); background: var(--ast-customizer-color-12); color: var(--ast-customizer-color-10); z-index: 3; bottom: calc(100% + 5px); text-align: center; animation: tooltips-vert .3s ease-out forwards; text-transform: none; font-size: .9em; line-height: 1; user-select: none; pointer-events: none; position: absolute; display: none; opacity: 0; left: 50%; transform: translate(-50%,-0.5em); } .dashicons-editor-help[data-title]:hover ~ .ast-dashicons-custom-tooltip { display: block; opacity: 100; } .dashicons-editor-help[data-title]:hover ~ .ast-dashicons-custom-tooltip[data-title]::after{ display: flex; white-space: break-spaces; inline-size: max-content; } .ast-top-dotted-divider .ast-control-tooltip.dashicons-editor-help { top: 22px; } .customize-control.ast-bottom-dotted-divider.customize-control-ast-toggle-control .ast-control-tooltip { top: 8px; } .customize-control.customize-control-ast-select.ast-top-dotted-divider .ast-control-tooltip { top: 36px; } .customize-control-ast-sortable .customize-control-ast-selector .dashicons.ast-control-tooltip { top: 18%; padding: 0; font-size: 20px; } .customize-control.customize-control-ast-color i.ast-control-tooltip { top: 5px; right: 60px; } /* Focus Management Styles - WCAG 2.1 Compliance */ /* Added for keyboard accessibility and screen reader support */ /* Button Focus Styles */ .hvac-button:focus, .hvac-content .button:focus, .hvac-content button:focus, .hvac-content input[type="submit"]:focus, .hvac-email-submit:focus, .hvac-filter-submit:focus, .hvac-certificate-actions button:focus, .hvac-certificate-actions a:focus { outline: 2px solid #005fcc; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); border-radius: 4px; } /* Input Focus Styles */ .hvac-form-input:focus, .hvac-content input[type="text"]:focus, .hvac-content input[type="email"]:focus, .hvac-content input[type="password"]:focus, .hvac-content input[type="url"]:focus, .hvac-content textarea:focus, .hvac-content select:focus, .hvac-email-form-row input:focus, .hvac-email-form-row textarea:focus, .hvac-filter-group input:focus, .hvac-filter-group select:focus { outline: 2px solid #005fcc; outline-offset: 2px; border-color: #005fcc; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); } /* Link Focus Styles */ .hvac-content a:focus, .hvac-event-link:focus, .hvac-certificate-link:focus, .hvac-attendee-profile-icon:focus, .hvac-dashboard-nav a:focus, .hvac-email-navigation a:focus { outline: 2px solid #005fcc; outline-offset: 2px; text-decoration: underline; background-color: rgba(0, 95, 204, 0.1); border-radius: 2px; } /* Interactive Element Focus Styles */ .hvac-attendee-checkbox:focus, .hvac-select-all-container input[type="checkbox"]:focus, .hvac-modal-close:focus, .hvac-certificate-table tr:focus { outline: 2px solid #005fcc; outline-offset: 2px; box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.2); } /* High Contrast Mode Support */ @media (prefers-contrast: high) { .hvac-content *:focus { outline: 3px solid #000000; outline-offset: 2px; background-color: #ffff00; color: #000000; } } /* Focus-visible polyfill support */ /* Reset focus for mouse users while preserving keyboard accessibility */ .js-focus-visible :focus:not(.focus-visible) { outline: none; box-shadow: none; } /* Ensure focus is visible for keyboard users */ .js-focus-visible .focus-visible { outline: 2px solid #005fcc; outline-offset: 2px; }