Skip to content

비선택 카테고리 탭의 대비·선택 구분을 PM에게 확인한다 #1636

Closed as not planned

Description

@OnlyReadOneBook

작업 유형

bug — 버그·오동작

주 담당 모듈

afternote — 애프터노트

개요

selectableGroup과 gray5 적용은 #1645/#1647로 이미 반영됐다. 남은 비선택 탭 대비는 기존 실측상 2.567:1이다. 기존 A/B 중 한 색을 고르는 구현·골든 갱신 예약을 제거한다.

PM 확인이 필요한 결정

접근성 기준을 충족할 색과 선택/비선택 구분 방식을 PM에게 확인한다. 기존 시안 유지와 gray7 치환만을 강제된 두 선택지로 취급하지 않는다. 디자이너에게 별도로 묻지 않는다.

완료 기준

PM의 명시적인 답변과 적용 범위·근거 링크를 기록한다. 답변 전에는 구현·재개·테스트 완료 체크리스트를 예약하지 않는다. 결정 후 최신 코드와 계약을 대조해 실제 필요한 작업만 정의한다. 디자이너에게 질문하거나 태그하지 않으며, 미답변이나 과거 FE 재량 위임을 승인으로 해석하지 않는다.

정리 근거

2026-09-13 사용자 요청에 따라 미확정 구현 예약을 제거했다. 기능 구현 완료를 의미하지 않는다. 기존 댓글의 실측은 참고 자료이며, 상충하는 옛 구현 지시는 현재 범위를 대체하지 않는다.

실기동 화면

에뮬레이터 Pixel 7(API 34) 실기동, QA823 계정, 실서버 afternote.kro.kr. 애프터노트 목록의 카테고리 탭이다. 선택 탭은 검정, 비선택은 회색으로 그려진다.

카테고리 탭 실기동

Activity

  1. github-actions commented on Aug 30, 2026

    @github-actions
    Contributor

    bug 이슈는 사이드바 Fields > Priority 로 심각도를 지정해야 합니다. 판정 기준:

    • Urgent: 치명 — 크래시·데이터 소실·보안 무력화·핵심 경로 차단·가짜 성공
    • High: 심각 — 실패·틀린 값의 정상 위장, 핵심 기능 무동작
    • Medium: 불편 — 우회로가 있는 오동작·틀린 표시, 핵심 흐름은 유지
    • Low: 경미 — 문구·정렬·마감 품질 흠, 기능 영향 없음

    값이 비어 있어도 이슈를 닫지는 않습니다. 이 안내는 이슈당 한 번만 답니다.

  2. OnlyReadOneBook commented on Aug 30, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    ② 대비 — 시안 색값을 실측했습니다. 게이트가 둘로 갈립니다

    본문이 「시안의 실제 색값을 확인하고, 기준 미달이면 대체 색을 디자이너와 정한 뒤 바꾼다」로 남겨 둔 자리를 실측했습니다. 정본 페이지 4327:43064 를 REST 로 받아 카테고리 탭 텍스트 노드 63건의 fills 를 전수로 읽었습니다.

    코드 시안 (tab btn · tab/2 컴포넌트)
    선택 탭 gray7 #1F1F1F
    비선택 탭 gray4 = #BDBDBD #A0A0A0

    코드가 시안보다 더 흐립니다. 대비를 sRGB 상대휘도로 계산하면:

    색 on gray1 (#FAFAFA) on 순백 (#FFFFFF)
    코드 #BDBDBD 1.80:1 1.88:1
    시안 #A0A0A0 2.51:1 2.61:1

    (참고: 시안 선택 탭 #1F1F1F 는 15.79:1)

    그래서 ②가 실은 두 건입니다

    1. 시안 미준수 — FE 재량입니다. 비선택 탭을 #A0A0A0 로 맞추는 데는 디자이너에게 물을 것이 없습니다. 시안이 이미 그 값이고 코드가 안 따르고 있을 뿐입니다. 대비도 1.80 → 2.51 로 올라갑니다. ①(selectableGroup) PR 위에 스택으로 올려 이 이슈에서 함께 닫겠습니다 — 같은 파일이라 형제로 두면 충돌합니다.
    2. 접근성 기준 미달 — 디자이너 결정이 그대로 남습니다. #A0A0A0 로 맞춰도 2.51:1 이라 14sp 일반 텍스트의 WCAG AA 4.5:1 에는 못 미칩니다. 「비선택 탭은 흐리게」가 의도된 위계인지, 4.5:1 을 넘기는 대체 색으로 갈지가 물어야 할 것입니다. 시안 색을 그대로 옮겨도 기준을 못 넘는다는 사실 자체가 질의의 재료입니다.

    이 이슈는 2번이 닫힐 때까지 열어 둡니다. ①과 1번을 닫는 PR 은 Refs 로 겁니다.

    토큰 경계

    본문이 지적한 대로 gray4 는 core 토큰이라 값을 갈면 다른 모듈까지 끌고 갑니다. #A0A0A0 는 현재 core 팔레트에 없는 값이라, 애프터노트 쪽 사용처만 새 토큰으로 옮기는 쪽이 경계가 깔끔하다는 본문 판단이 그대로 유효합니다.

  3. OnlyReadOneBook commented on Aug 30, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    보정 — 새 토큰이 필요 없습니다. 그리고 디자이너 질의가 양자택일로 좁혀집니다

    앞 코멘트에서 「#A0A0A0 는 core 팔레트에 없는 값이라 새 토큰이 필요하다」고 적었는데, 팔레트를 실제로 재 보니 gray5 로 닫힙니다.

    토큰 값 on gray1 (#FAFAFA)
    gray4 (현재 코드) #BDBDBD 1.800:1
    시안 tab btn 비선택 #A0A0A0 2.505:1
    gray5 #9E9E9E 2.567:1
    gray6 #757575 4.414:1 ← AA 에 0.086 모자람
    gray7 #616161 5.934:1 ← AA 통과

    시안 #A0A0A0 와 gray5 #9E9E9E 는 채널 차가 2/255(0.8%) 입니다. 육안으로 구분되지 않고 대비도 시안보다 오히려 미세하게 높습니다. 애프터노트 전용 토큰을 새로 만들 이유가 없습니다 — gray4 → gray5 한 줄이면 「시안대로」가 닫히고 core 팔레트 밖으로 나가지도 않습니다.

    그래서 디자이너에게 물을 것이 구체적으로 정해집니다

    팔레트 안에서 AA 4.5:1 을 넘기는 가장 밝은 회색은 gray7 입니다. gray6 은 4.414:1 로 0.086 차이로 미달이라 쓸 수 없습니다. 즉 선택지가 둘뿐입니다.

    • A. gray5 — 시안 색 그대로(2.57:1). 「비선택은 흐리게」라는 위계를 유지하되 AA 미달을 감수.
    • B. gray7 — AA 통과(5.93:1). 다만 선택 탭이 쓰는 색과 같아져 선택/비선택 구분이 굵기·밑줄에만 남습니다.

    중간값이 없다는 것이 이 질의의 핵심입니다. 「조금 더 진하게」로는 안 되고, 위계를 지키느냐 기준을 넘기느냐를 골라야 합니다. B 를 고르면 선택 상태를 무엇으로 구분할지가 따라옵니다.

    gray4 → gray5 는 시안 준수라 FE 재량으로 먼저 닫고, 그 위에서 A/B 를 묻는 것이 순서로 맞다고 봅니다.

  4. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    and removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Aug 30, 2026
  5. OnlyReadOneBook commented on Sep 3, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    착수 확인 — ①은 이미 머지돼 있습니다. 남은 것은 ②의 AA 축 하나뿐입니다

    이 이슈를 다시 집으려다 현재 develop(e400b07)을 실측했더니 ①과, ②의 「시안 준수」 절반이 이미 들어가 있었습니다. 착수 전에 여기 적어 둡니다 — 이슈 제목과 본문의 수치가 낡아 다음 세션이 같은 것을 또 집을 수 있습니다.

    축 상태 근거
    ① selectableGroup() 부재 닫힘 #1645 (2026-08-31 머지)
    ② 시안 준수 — gray4 → gray5 닫힘 #1647 (2026-08-31 머지)
    ② 접근성 기준 — AA 4.5:1 열림 디자이너 A/B 미답

    develop 실측:

    • AfternoteTypeFilterRow 의 탭을 감싸는 안쪽 Row 에 .selectableGroup() 이 걸려 있습니다(바깥 Row 는 화살표 힌트를 품고 있어 거기가 아닙니다).
    • 회귀 가드도 살아 있습니다 — AfternoteCategoryRowInteractionTest 의 카테고리 탭 행은 선택 그룹 semantics를 노출한다. 이번에 돌려 확인했습니다: 2 tests, 0 failures, 0 errors.
    • 비선택 탭 색은 AfternoteDesign.colors.gray5 입니다.

    그래서 본문 ②의 수치가 갱신됩니다

    제목과 본문이 적은 1.8:1 은 더 이상 현행이 아닙니다. gray5(#9E9E9E) on gray1(#FAFAFA) 를 다시 재면 2.567:1 입니다(sRGB 상대휘도 직접 계산). 종전 gray4(#BDBDBD) 의 1.800:1 에서 올라왔지만, 완료 조건인 4.5:1 에는 여전히 못 미칩니다.

    남은 하나 — 답이 오지 않았습니다

    앞 코멘트에서 양자택일로 좁혀 둔 질의(A. gray5 유지 — 위계 유지·AA 미달 2.57:1 / B. gray7 — AA 통과 5.93:1·다만 선택 탭과 같은 색)에 8월 31일 이후 답이 없습니다. 팔레트에 중간값이 없어(gray6 은 4.414:1 로 0.086 모자람) FE 가 고를 수 있는 제3안이 없고, 본문이 「②는 FE 재량으로 닫지 말 것」을 명시했으므로 여기서 임의로 닫지 않습니다.

    이 이슈에 남은 것은 그 결정 하나입니다. 결정이 오면 한 줄(gray5 → 선택된 토큰) + 골든 재생성으로 닫힙니다. B 를 고르면 선택 상태를 무엇으로 구분할지가 따라옵니다.

  6. changed the title [-]카테고리 필터 행 접근성 — selectableGroup 부재·비선택 탭 대비 1.8:1[/-] [+]카테고리 필터 행 비선택 탭 대비 2.57:1 로 AA 미달 — 디자이너 A/B 결정 대기 (selectableGroup 은 #1645 로 닫힘)[/+] on Sep 3, 2026
  7. changed the title [-]카테고리 필터 행 비선택 탭 대비 2.57:1 로 AA 미달 — 디자이너 A/B 결정 대기 (selectableGroup 은 #1645 로 닫힘)[/-] [+]비선택 카테고리 탭의 대비·선택 구분을 PM에게 확인한다[/+] on Sep 12, 2026
  8. OnlyReadOneBook commented on Sep 13, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    실측: 본문의 2.567:1 은 #1798 이전 값이다

    본문이 남은 대비를 2.567:1 로 적고 있어 값을 직접 다시 계산했습니다. 기준은 origin/develop 86ab223 입니다.

    2.567:1 은 옛 gray5(#9E9E9E)를 gray1(#FAFAFA) 위에 얹었을 때의 값이 맞습니다(sRGB 상대휘도로 재계산, 같은 값). 다만 그 값은 더 이상 라이트 테마의 현행이 아닙니다.

    #1798 이 라이트 gray5 를 갈랐다

    커밋 83c3df3(PR #1799, 2026-09-06 머지)이 core/ui/src/main/kotlin/com/afternote/core/ui/theme/Color.kt:39 에 Gray5OnLight = Color(0xFF6E6E6E) 를 두고 lightColors 의 gray5 를 그 값으로 바꿨습니다. darkColors 의 gray5 는 #9E9E9E 그대로입니다.

    색 배경 대비
    옛 gray5 #9E9E9E #FAFAFA 2.567:1
    현재 라이트 gray5 #6E6E6E #FAFAFA 4.885:1
    현재 라이트 gray5 #6E6E6E #FFFFFF 5.099:1
    현재 다크 gray5 #9E9E9E #212121 6.010:1

    라이트는 어느 배경으로 재도 4.5:1 을 넘습니다. AfternoteTypeFilterRow.kt:161-165 의 주석은 아직 gray5(#9E9E9E) 와 2.57:1 을 적고 있어 본문과 같은 시점에 멈춰 있습니다.

    선택 구분 축의 현재 값

    같은 파일 AfternoteTypeFilterRow.kt:158-167 에서 선택 탭은 gray7, 비선택 탭은 gray5 입니다. 라이트에서 두 값은 #616161 과 #6E6E6E 이고 서로의 대비는 1.215:1 입니다. 타이포는 선택과 비선택이 모두 bodySmallB 로 같고, 선택 탭에만 2dp HorizontalDivider(gray7)가 붙습니다(173-182).

    즉 이 이슈에 남은 축은 선택 구분 한 가지입니다. 무엇으로 구분할지는 여기서 제안하지 않습니다.

    서술 하나가 어긋나 있다

    2026-09-03 코멘트는 남은 것을 "디자이너 A/B 미답" 으로 적었습니다. 그 A/B 는 gray5 유지(당시 2.57:1)냐 gray7(5.93:1)이냐였고, 둘을 가르던 전제는 "팔레트에 4.5:1 을 넘는 중간값이 없다" 였습니다. #1798 이후 라이트 gray5 자체가 4.885:1 이 되어 그 전제는 성립하지 않습니다.

    현재 본문은 같은 자리를 "PM 확인" 과 "디자이너에게 별도로 묻지 않는다" 로 다시 썼습니다. 옛 코멘트의 서술과 현재 본문이 어긋나 있다는 사실만 적어 둡니다.

  9. OnlyReadOneBook commented on Sep 13, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    PM 전건호에게 Figma 댓글로 질문했다(2026-09-13). 이 이슈는 그동안 PM 확인 대기로 분류돼 있었지만 실측해 보니 어느 채널에도 발신 기록이 없었다. 이번이 첫 발신이다.

    • 질문: https://www.figma.com/design/UP9ZR186jHvRBicjA2SOea/?node-id=4327-66535#1923877310
    • 앵커: 4327:66535 FRAME 애프터노트 main_1안 — 정리 Screen Design#4327:43064 > SECTION 애프터노트#4327:99446 > 애프터노트 - 메인 그룹(x=1347,y=856). 카테고리 탭 행은 이 프레임 안의 INSTANCE tab/2 #4327:66553
    • 멘션은 message_meta 로 보내 알림이 가도록 했다. 평문 @이름 은 알림이 가지 않는다.

    물은 것은 묵은 본문의 질문을 그대로 옮긴 것이 아니라 origin/develop 86ab223 실코드와 현재 시안으로 다시 벼린 것이다.

    본문에 있었지만 이번 질문에서 뺀 축:

    1. selectableGroup 부재 — fix(afternote): 카테고리 필터 탭 행을 상호배타 선택 그룹으로 노출한다 (#1636) #1645 로 2026-08-31 머지돼 닫혔다. 2) gray4 → gray5 시안 준수 — fix(afternote): 비선택 카테고리 탭 색을 시안 값에 맞춰 gray5 로 되돌린다 (#1636) #1647 로 같은 날 머지. 3) 본문과 제목이 적은 1.8:1 과 2.567:1 — 둘 다 현행이 아니다. 4) WCAG AA 4.5:1 미달 축 자체 — PR fix(core-ui): 라이트 테마 본문 대비를 4.89:1 로 올린다 (#1798) #1799(2026-09-06)가 라이트 gray5 를 #6E6E6E 로 갈라 라이트 4.885:1, 다크 6.010:1 로 이미 통과한다. 08-30 코멘트의 A/B(gray5 유지냐 gray7 이냐)를 갈랐던 전제, 즉 "팔레트에 4.5:1 을 넘는 중간값이 없다" 도 그때 무너졌다. 그래서 남은 것은 선택 구분 한 축뿐이다.
  10. OnlyReadOneBook commented on Sep 18, 2026

    @OnlyReadOneBook
    CollaboratorAuthor

    PM 결정 대기 항목은 깃허브 이슈로 두지 않고 피그마 질문 한 자리에만 둔다(2026-09-18 결정). 이 이슈의 질문은 피그마 스레드에 걸려 있다: https://www.figma.com/design/UP9ZR186jHvRBicjA2SOea/?node-id=4327-66535#1923877310 답이 오면 그 답을 근거로 구현 이슈를 새로 만든다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:afternote애프터노트 기능 영역bugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions