feat(aria/spinbutton): Add spinbutton primitive for value selection within discrete ranges
維護者通常 1 天內回覆
@ok7sai 已經在處理了。
開始於 2026年4月1日。
評估
這個 Issue 還沒有評估資料。
描述
Feature Description
Angular Aria currently lacks a spinbutton primitive.
The APG Spinbutton Pattern defines it as an input widget that restricts its value to a set or range of discrete values.
Keyboard Interaction (per APG)
| Key | Function |
|---|---|
| Up Arrow | Increases the value |
| Down Arrow | Decreases the value |
| Home | Sets value to minimum (if defined) |
| End | Sets value to maximum (if defined) |
| Page Up | Increases value by larger step (optional) |
| Page Down | Decreases value by larger step (optional) |
Required ARIA Attributes
role="spinbutton"on the focusable elementaria-valuenow- Current valuearia-valuemin/aria-valuemax- Min/max allowed valuesaria-valuetext- User-friendly string (e.g., "Monday" instead of "1")aria-labelledbyoraria-label- Accessible namearia-invalid="true"- When value is outside allowed range
References
APG Specification
- Spinbutton Pattern
- Quantity Spin Button
Example - Toolbar Example (includes font size
spinbutton)
React Aria Prior Art
React Aria uses spinbuttons internally for date/time segment navigation:
Implementation
PR: https://github.com/angular/components/pull/32663
Use Case
- Quantity Selection - Hotel booking, shopping carts, product pages
- Time Input - Time pickers with hours, minutes, seconds segments
- Date Picker Components - Date range selectors using spinbuttons for date segments
- Toolbar Controls - Font size and property controls in text editors
- Numeric Input with Constraints - Any value selection within a min/max range
- 主要語言
- TypeScript
- 星號
- 25k
- 分支
- 6.8k
- 平均合併
- 1 天 7 小時
- 30 天內合併 PR
- 69
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 沒有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
angular/components 的其他 Issue
-
bug(aria/combobox): keys pressed back to back are lost; only the last one reaches the popup可能已有人在做 @drakeo338 於 1 天前認領。 未關閉area: aria/combobox gemini-triaged
難度 2/5 1-3 小時 新手友好度 78/100
angular/components#33973 ·
維護者通常 1 天內回覆
-
bug(material/sort): hover hint arrow on an unsorted header shows the active sort direction, not the resulting direction after click.可能已有人在做 @lekhmanrus 於 13 天前認領。 未關閉area: material/sort P3
難度 2/5 1-3 小時 新手友好度 70/100
angular/components#33933 ·
維護者通常 1 天內回覆
-
bug(mat-date-picker): month shown twice in date picker可能已有人在做 @PreethiPantangi 於 31 天前認領。 未關閉area: material/datepicker P4
難度 2/5 1-3 小時 新手友好度 72/100
angular/components#33763 · 2 則留言 · 3 個 reaction ·
維護者通常 1 天內回覆
-
Bug in table.scss footer cell height: unset instead of footer row height unset可能已有人在做 @minwookshin 於 17 天前認領。 未關閉area: material/table P4
難度 1/5 1 小時以內 新手友好度 88/100
angular/components#33709 · 1 則留言 ·
維護者通常 1 天內回覆
-
docs-bug(Table): Add example with `rowspan`可能已有人在做 @BHUVANSH855 於 98 天前認領。 未關閉area: material/table docs P4
難度 2/5 1-3 小時 新手友好度 72/100
angular/components#33455 ·
維護者通常 1 天內回覆
查看 angular/components 的全部 Issue
相似的 Issue
-
難度 2/5 1-3 小時 新手友好度 83/100
維護者通常 1 天內回覆
-
難度 1/5 1-3 小時 新手友好度 72/100
zts212653/clowder-ai#1678 ·
維護者通常 1 天內回覆
-
good first issue
難度 2/5 1-3 小時 新手友好度 64/100
Progressive-Victory/the-website#680 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
bug
難度 2/5 1-3 小時 新手友好度 68/100