feat(FN-4254): improve mission manager list accessibility
- Make mission and interview list rows keyboard-reachable buttons with descriptive aria labels - Handle Enter and Space activation while preventing nested control bubbling from triggering row actions - Replace targeted MissionManager sizing literals with design tokens and add regression coverage for tokenized CSS
This commit is contained in:
@@ -80,7 +80,7 @@
|
||||
}
|
||||
|
||||
.mission-manager__title {
|
||||
font-size: 16px;
|
||||
font-size: var(--space-lg);
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
color: var(--text);
|
||||
@@ -164,7 +164,7 @@
|
||||
}
|
||||
|
||||
.mission-manager__sidebar {
|
||||
width: 300px;
|
||||
width: calc(var(--space-lg) * 18.75);
|
||||
min-width: 0;
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
@@ -347,21 +347,20 @@
|
||||
}
|
||||
|
||||
/* ── Status Badge ── */
|
||||
/* Fine-grained badge paddings stay pixel-specific for compact legibility. */
|
||||
.mission-status-badge {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-size: 11px;
|
||||
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
|
||||
font-weight: 600;
|
||||
text-transform: capitalize;
|
||||
padding: 2px 8px;
|
||||
padding: calc(var(--space-xs) / 2) var(--space-sm);
|
||||
border-radius: var(--radius-pill);
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.mission-status-badge--sm {
|
||||
font-size: 10px;
|
||||
padding: 1px 6px;
|
||||
font-size: calc(var(--space-sm) + (var(--space-xs) / 2));
|
||||
padding: calc(var(--space-xs) / 4) calc(var(--space-sm) - (var(--space-xs) / 4));
|
||||
}
|
||||
|
||||
/* ── Shared Controls ── */
|
||||
@@ -734,6 +733,15 @@
|
||||
border-color: var(--text-dim);
|
||||
}
|
||||
|
||||
.mission-list__item:focus-visible {
|
||||
outline: none;
|
||||
box-shadow: var(--focus-ring-strong);
|
||||
}
|
||||
|
||||
.mission-list__item:active {
|
||||
transform: scale(0.99);
|
||||
}
|
||||
|
||||
.mission-list__item--selected {
|
||||
border-color: var(--todo);
|
||||
box-shadow: inset 0 0 0 1px var(--todo);
|
||||
@@ -950,7 +958,7 @@
|
||||
}
|
||||
|
||||
.mission-detail__title {
|
||||
font-size: 18px;
|
||||
font-size: calc(var(--space-lg) + (var(--space-xs) / 2));
|
||||
font-weight: 600;
|
||||
color: var(--text);
|
||||
margin: 0;
|
||||
@@ -974,10 +982,10 @@
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: var(--space-xs);
|
||||
font-size: 11px;
|
||||
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
|
||||
color: var(--color-success);
|
||||
background: var(--meta-badge-bg);
|
||||
padding: 2px 8px;
|
||||
padding: calc(var(--space-xs) / 2) var(--space-sm);
|
||||
border-radius: var(--radius-pill);
|
||||
}
|
||||
|
||||
@@ -1124,8 +1132,8 @@
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: var(--space-xs);
|
||||
padding: 2px 8px;
|
||||
font-size: 11px;
|
||||
padding: calc(var(--space-xs) / 2) var(--space-sm);
|
||||
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
@@ -1230,8 +1238,8 @@
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
border-radius: var(--radius-pill);
|
||||
padding: 2px 8px;
|
||||
font-size: 11px;
|
||||
padding: calc(var(--space-xs) / 2) var(--space-sm);
|
||||
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
|
||||
text-transform: capitalize;
|
||||
background: var(--surface);
|
||||
color: var(--text-muted);
|
||||
@@ -1495,9 +1503,9 @@
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 4px;
|
||||
width: var(--space-lg);
|
||||
height: var(--space-lg);
|
||||
border-radius: var(--radius-sm);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
@@ -1677,12 +1685,12 @@
|
||||
}
|
||||
|
||||
.mission-assertion__linked-count {
|
||||
font-size: 11px;
|
||||
font-size: calc(var(--space-sm) + var(--space-xs) * 0.75);
|
||||
color: var(--text-dim);
|
||||
background: var(--surface);
|
||||
border: 1px solid var(--border);
|
||||
border-radius: var(--radius-sm);
|
||||
padding: 1px 6px;
|
||||
padding: calc(var(--space-xs) / 4) calc(var(--space-sm) - (var(--space-xs) / 4));
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user