ActionCandidateRow
행동 후보 한 줄: 추천 이유, 불명확한 담당·마감, 고정.
- 라이브러리 전용
개요
예시
상태
기본
고정
담당 불명확
담당·마감 불명확
이렇게 · 이렇게 하지 않기
- 이렇게 추천 이유를 함께 두고 담당이나 마감이 불분명하면 그렇게 쓴다. 사용자가 고정한 항목은 자동 정렬에 밀리지 않는다.
- 이렇게 하지 않기 완료 체크박스·마감 압박 표시를 두지 않는다. 고정 후 행이 미끄러지게 움직이지 않는다(초점이 따라가는 것이 더 중요하다).
토큰과 속성
| 이름 | 타입 | 기본값 | 설명 |
|---|---|---|---|
title | string | 워크숍 안건 초안 공유 | 행동 제목(원문에서 온 것, 번역하지 않음). |
href? | string | ?item=act-1 | 행동 상세 주소. |
reason? | string | 금요일 일정과 이어져 있어 위에 두었어요. | 순서 이유(PriorityReason inline). 점수 없음. |
unclear? | 'none' | 'owner' | 'due' | 'both' | none | 담당·마감을 확실히 읽지 못했으면 글자로 쓴다(“담당 불명확”). |
pinned? | boolean | false | 맨 위 고정(처음 값). 자동 정렬이 덮어쓰지 않는다. |
onPinnedChange? | (pinned: boolean) => void | — | 새 값으로 호출. 호출자가 다시 정렬하고, 초점은 이 행의 고정 버튼을 따라간다. |
onAnnounce? | (message: string, politeness: 'polite' | 'assertive') => void | — | 공용 알림기(기본 announce()). 고정 시 “맨 위에 고정했어요”. |
| 그 밖의 속성 | — | — | <li> 속성이 ListRow로 전달된다. |
접근성
키보드: 행 Enter(상세). Tab → 고정 토글(aria-pressed). 라벨은 “고정”으로 고정이고 상태는 aria-pressed가 말한다.
- 21st Pinned List에서 고정 후 행이 다시 그려지며 초점이 body로 떨어지는 것을 확인했다. 여기서는 정렬 뒤에도 같은 행의 고정 버튼으로 초점을 되돌린다.