@ihabdevteam/core 0.259.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 +78 -0
- package/dist/components.cjs.js +22 -22
- package/dist/components.esm.css +1 -1
- package/dist/hooks.cjs.js +3 -3
- package/dist/i18n.cjs.js +3 -3
- package/dist/ihabdevteam-core.cjs.js +15 -15
- package/dist/ihabdevteam-core.d.ts +1 -1
- package/dist/packages/core/src/components/Dropdown.js +24 -1
- package/dist/packages/core/src/components/FilterPanel.js +4 -1
- package/dist/packages/core/src/components/Popup/LoadTablePopup.js +1 -1
- package/dist/packages/core/src/components/Training/TrainingCard.css +12 -0
- package/dist/packages/core/src/components/Word/WordTableButton.js +3 -1
- package/dist/packages/core/src/i18n/locales/en.json +3 -0
- package/dist/packages/core/src/i18n/locales/ko.json +3 -0
- package/dist/packages/core/src/version.d.ts +1 -1
- package/dist/packages/core/src/version.js +1 -1
- package/dist/utils.cjs.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,84 @@ 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
|
+
|
|
60
|
+
## 0.260.0
|
|
61
|
+
|
|
62
|
+
### 게시자 이름 단추가 **하는 일을 말한다** — `WordTableButton` (말귀 요청 (69))
|
|
63
|
+
|
|
64
|
+
보이는 글자는 이름뿐인데 누르면 **그 게시자가 올린 것만 걸러진다.** 그 말이 어디에도
|
|
65
|
+
없었다 — 말귀 실측(말귀자료실 › 단어표 탭, 1780px): 한 쪽 **스무 칸이 전부** 이 단추를 들고
|
|
66
|
+
**첫 넷 중 셋이 같은 이름**이다. 낭독기로 훑으면 같은 이름만 스무 번 지나가고, 음성으로
|
|
67
|
+
조작하는 사람은 "거르기 눌러" 라고 말할 데가 없다. (62) `메뉴 열기, 3개` 와 같은 집안이다.
|
|
68
|
+
|
|
69
|
+
읽히는 이름이 `아이해브 사공정희 게시한 것만 보기` 가 된다(`wordTable.publisherFilter`).
|
|
70
|
+
**보이는 글자는 그대로 둔다** — 칸이 좁아 이름만 서는 쪽이 맞고, 읽히는 이름이 보이는 이름을
|
|
71
|
+
품으므로 WCAG 2.5.3 도 지킨다.
|
|
72
|
+
|
|
73
|
+
> 앱이 그리는 칸(문장훈련·단어훈련 탭)은 말귀가 이미 같은 글귀로 고쳤다. **코어가 그리는
|
|
74
|
+
> 단어표 탭 스물만 이름 없이 남아 있었다** — 같은 화면에서 탭을 오가며 듣는 자리라 더
|
|
75
|
+
> 두드러졌다. 코어 사전에 열쇠를 두었으니 앱 쪽 `게시자단추이름` 을 걷고 이 열쇠를 읽어도 된다.
|
|
76
|
+
|
|
77
|
+
### 누를 일이 없으면 **단추로 세우지 않는다** — 같은 자리
|
|
78
|
+
|
|
79
|
+
전에는 `publisherName` 만 있으면 `onPublisherClick` 이 없어도 단추가 섰다. **눌러도 아무 일이
|
|
80
|
+
없는 단추**이고, 거기에 "게시한 것만 보기" 를 붙이면 **거짓말이 된다.** 그때는 그냥 글자다
|
|
81
|
+
(`span`). 생김새(색·크기·말줄임)는 그대로 두고 **누를 수 있다는 거짓 신호만** 거둔다 —
|
|
82
|
+
손 모양과 얹었을 때의 밑줄·색. `cursor: pointer` 는 iOS 가 "누를 수 있는 것" 을 가리는 데도
|
|
83
|
+
쓰므로 함께 거둔다.
|
|
84
|
+
|
|
85
|
+
> 이름을 다는 일과 한 묶음이다 — **안 하면 짓는 이름이 거짓이 된다.** 오늘 (65)·0.254.0 에서
|
|
86
|
+
> 걷은 "아무 일도 안 하는 단추" 와 같은 집안이기도 하다.
|
|
87
|
+
|
|
10
88
|
## 0.259.0
|
|
11
89
|
|
|
12
90
|
### 스텝 payload 에 **때 둘을 얹는다** — `withStepTimes` (말귀 요청 (68) 후속)
|