Accessibility pass: ARIA roles, label associations, CSS class migrations
- Add role=dialog/aria-modal/aria-labelledby to all 12 modal overlays (JS + PHP)
- Add aria-label="Close" to all 14 modal close buttons
- Add full ARIA combobox pattern to @mention autocomplete (listbox, option, aria-selected, aria-expanded)
- Add for= attributes to admin filter form labels (AuditLog, UserActivity, ApiKeys)
- Remove dead closeOnAdvancedSearchBackdropClick() from advanced-search.js
CSS/JS style cleanup:
- Move .ascii-banner static styles from JS inline to CSS class; add .ascii-banner--glow
- Add .ascii-banner-cursor, .loading-overlay--hiding, .has-overlay, tr[data-clickable]
- Add .animate-fadein/.animate-fadeout/.comment--deleting to ticket.css
- Add .lt-toast--hiding to base.css; remove opacity/transition inline JS
- Remove redundant cursor:pointer JS (already in th{} CSS rule)
- Remove trailing space in lt-select class attributes
Bug fixes:
- base.js: boot overlay opacity inline style was overriding .fade-out class opacity via
specificity (1000 vs 20), preventing the fade-out animation — removed
- ascii-banner.js: cursor used blink-caret (border-color only) instead of blink-cursor
(opacity-based), so the █ cursor never actually blinked — fixed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -466,6 +466,50 @@ textarea[data-field="description"]:not(:disabled)::after {
|
||||
}
|
||||
|
||||
/* Form Elements */
|
||||
/* Helper text below form fields */
|
||||
.form-hint {
|
||||
color: var(--terminal-green);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 0.85rem;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.form-hint-warning {
|
||||
color: var(--terminal-amber);
|
||||
font-family: var(--font-mono);
|
||||
font-size: 0.85rem;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
/* Visibility group checkbox row */
|
||||
.visibility-groups-list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.75rem;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
|
||||
.group-checkbox-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* Duplicate warning box and visibility groups (JS-toggled, need margin when visible) */
|
||||
#duplicateWarning {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
#visibilityGroupsContainer {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
/* Duplicate found heading */
|
||||
.duplicate-heading {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.detail-group {
|
||||
margin-bottom: 30px;
|
||||
padding: 15px;
|
||||
@@ -944,6 +988,10 @@ textarea.editable {
|
||||
}
|
||||
}
|
||||
|
||||
.animate-fadein { animation: fadeIn 0.3s ease; }
|
||||
.animate-fadeout { animation: fadeIn 0.2s ease reverse; }
|
||||
.comment--deleting { opacity: 0; transform: translateX(-20px); transition: opacity 0.3s, transform 0.3s; }
|
||||
|
||||
.reply-form-container .reply-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
Reference in New Issue
Block a user