@ihabdevteam/core 0.260.0 → 0.261.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,56 @@ All notable changes to this project will be documented in this file.
7
7
  > 적은 글이라, 지금 이름으로 고쳐 놓으면 그 시절에 그 이름으로 받은 사람이
8
8
  > 제 이야기를 못 찾는다.
9
9
 
10
+ ## 0.261.0
11
+
12
+ ### 고르개 방아쇠가 **`combobox`** 가 된다 — `Dropdown` (말귀 요청 (70))
13
+
14
+ 방아쇠가 `role="button"` 인데 `aria-activedescendant` 를 달고 있었다. **자판 쪽 움직임은
15
+ 멀쩡했다** — Enter 로 열리고, ↓↑ 가 짚는 것을 옮기고(말귀가 option-2 → option-1 을 실제로
16
+ 봤다), Esc 로 닫히며 초점이 방아쇠에 남는다. **빠진 것은 역할 하나**였다:
17
+ `aria-activedescendant` 는 ARIA 1.2 에서 **`button` 이 받는 속성이 아니다**(combobox·listbox·
18
+ menu·textbox 따위에서만 산다). 그래서 **화살표로 짚고 있는 것이 보조기기로 갈 길이 없었다** —
19
+ 눈으로는 파란 줄이 움직이는데 귀로는 아무 일도 안 일어난다.
20
+
21
+ `role="combobox"` 로 바꾸니 이미 달려 있던 `aria-expanded`·`aria-controls`·
22
+ `aria-activedescendant` 가 **그 역할에서 그대로 맞는 속성**이 되고, 여는 것이 `role="listbox"`
23
+ 인 것도 이미 맞다(APG 의 select-only combobox 본).
24
+
25
+ **`<button>` 은 그대로 뒀다** — 역할만 덮어쓴다. 초점 받기와 Enter·Space 는 **요소의 몫**이라
26
+ 역할을 바꿔도 산다. APG 본보기는 `div`+`tabindex` 지만 그쪽으로 가면 자판 처리를 손으로 다시
27
+ 짜야 한다(오늘 (56)(나)·0.254.0 에서 "진짜 단추라 브라우저가 처리한다" 로 간 것과 같은 결).
28
+
29
+ **이름과 값이 갈린다.** 전에는 `aria-label` 이 안 글자를 덮어, 음성으로 `50개씩 보기 눌러`
30
+ 라고 해도 못 찾았다(WCAG 2.5.3). combobox 에서는 안 글자가 **값**이고 `aria-label` 이
31
+ **이름**이라 둘이 제자리를 찾는다.
32
+
33
+ ### **역할을 바로잡자 가려져 있던 것이 나왔다** — 이름 없는 고르개 셋
34
+
35
+ `button` 이던 때는 안 글자가 **이름**이라, `ariaLabel` 을 안 준 고르개도 이름이 있는 것처럼
36
+ 보였다. `combobox` 에서는 안 글자가 **값**이라 **이름이 빈다.** 코어 제 안에 그런 자리가
37
+ 셋 있었다 — `LoadTablePopup` 의 보기·정렬 둘, `FilterPanel` 의 절 고르개 하나.
38
+
39
+ | 자리 | 전(이름) | 후 |
40
+ |---|---|---|
41
+ | `LoadTablePopup` 보기 | `표로 보기`(값이 이름 노릇) | 이름 `보기 방식` · 값 `표로 보기` |
42
+ | `LoadTablePopup` 정렬 | `최신순` | 이름 `정렬` · 값 `최신순` |
43
+ | `FilterPanel` 절 | 고른 값 | 이름 = 그 절의 제목 |
44
+
45
+ > 새 문이 **코어가 세우는 `<Dropdown>` 에 이름이 다 붙었는지** 센다. 보기글(`CodeBox`)·주석
46
+ > 안의 것은 안 그려지므로 안 센다 — 오늘 `rawButtonHitArea` 에서 막아 둔 그 꼴이다.
47
+
48
+ > **실측**(놀이터 `#dropdown`, 2026-10-02): 브라우저 접근성 나무가 `combobox "과일"` 로 읽고,
49
+ > `aria-activedescendant` 가 가리키는 것이 실제 `role="option"`(`사과`)이며 여는 것이
50
+ > `role="listbox"` 다. 태그는 `BUTTON` 그대로다.
51
+ >
52
+ > **`aria-describedby`(고른 값을 설명으로 잇던 것)는 안 걷었다.** combobox 는 안 글자가 값이라
53
+ > 겹쳐 읽힐 수 있지만 **그건 낭독기로 재 봐야 안다.** 잘못 걷으면 고른 값이 통째로 안 들린다 —
54
+ > **겹쳐 읽히는 것(성가심)보다 안 들리는 것(막힘)이 나쁘다.** 말귀가 실제 낭독기로 재서
55
+ > 겹친다고 하면 그때 걷는다.
56
+
57
+ > 역할이 바뀌어 시험 열여섯이 `getByRole('button')` 으로 고르개를 못 찾았다 — 다 `combobox` 로
58
+ > 고쳤다. 그 가운데 하나가 `LoadTablePopup` 의 이름 없는 고르개를 짚어 줬다.
59
+
10
60
  ## 0.260.0
11
61
 
12
62
  ### 게시자 이름 단추가 **하는 일을 말한다** — `WordTableButton` (말귀 요청 (69))