You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/react-aria-native.md
+12Lines changed: 12 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -272,6 +272,16 @@ The first shared interaction milestone is available in the portable runtime:
272
272
covers localized short through full styles, seconds, calendar,
273
273
numbering-system, and hour-cycle locale extensions. Collection typeahead
274
274
reuses the public collator filter.
275
+
-`use_number_field` exposes separate group, input, increment-button, and
276
+
decrement-button prop contracts. `UiNumberField` projects that anatomy as a
277
+
native group instead of collapsing it into one text field. Buttons are
278
+
excluded from sequential focus, carry the next model-space value, use
279
+
field-aware accessible labels (or explicit `incrementAriaLabel` and
280
+
`decrementAriaLabel` overrides), and disable at step boundaries or for
281
+
disabled/read-only fields. ArrowUp and ArrowDown use the same
282
+
minimum-anchored step algorithm, including decimal-noise cleanup. AppKit,
283
+
GTK4, and WinUI claim those keys before the toolkit default runs, preventing
284
+
GTK4 `SpinButton` from emitting a duplicate change.
275
285
- Native IR capabilities are versioned. Every host exposes a feature manifest
276
286
with unsupported, portable, or native support levels, role-specific
277
287
overrides, and auditable capability issues. Protocol render responses carry
@@ -311,6 +321,7 @@ existence of a platform object:
311
321
| Complete press lifecycle | Button, disclosure summary, link, image-map area, ListBoxItem, and TreeItem on AppKit, GTK4, and WinUI; WinUI menu items also use the complete lifecycle. |
312
322
| Long press | Shared AppKit, GTK4, and WinUI press sources emit start/end and recognize terminal long press after the configured threshold. `NSTimer`, GTK main-loop timeout, and `DispatcherQueueTimer` provide threshold-time delivery, and release-time evaluation is the fallback. |
313
323
| Move | AppKit mouse/pen drag events, GTK4 `GestureDrag`, and WinUI mouse/touch/pen pointer capture use one incremental move state machine. All three normalize Arrow keys to a complete keyboard lifecycle and prevent the underlying native default. |
324
+
| NumberField stepping | The shared runtime maps ArrowUp/ArrowDown to model-space `Change` events on the next minimum-anchored step boundary. AppKit, GTK4, and WinUI suppress their underlying key default for marked NumberField inputs. Built-in decrement and increment buttons expose the same next values and boundary/read-only state through native Button controls. Continuous pointer-hold stepping, wheel stepping, automatic localized button messages, and live value announcements remain incomplete. |
314
325
| Native menu activation | AppKit and GTK4 menu items emit terminal press only because their menu models do not expose a mounted generic view event source. |
315
326
| Hover and typed modality | View-backed widgets; explicit exceptions are reported for AppKit non-view wrappers/items, GTK4 menu items, and the WinUI window wrapper. |
316
327
| Focus within | Portable runtime routing on AppKit, GTK4, WinUI, and headless hosts. Native blur/focus batches are linked with `relatedTarget`; direct focus callbacks remain target-only while focus-within callbacks run only when a subtree boundary is crossed. |
@@ -390,6 +401,7 @@ props:
390
401
| P1 | Event propagation | Add platform-run conformance fixtures for conditional `Stop`/`Continue` across nested native controls. |
391
402
| P1 | Focus management | Add platform-run conformance fixtures for post-mount `autoFocus`, nested containment, and restoration. |
392
403
| P1 | Collections and selection | Complete IME/dead-key typeahead conformance and add real-platform fixtures for layout-aware page navigation. |
404
+
| P1 | NumberField interaction | Add continuous press-and-hold stepping, focused vertical-wheel stepping with horizontal-trackpad rejection, automatic localized stepper labels, input-focus preservation on pointer press, and live value announcements. Group/input/button anatomy, minimum-anchored button stepping, ArrowUp/ArrowDown stepping, decimal-noise cleanup, boundary disabling, and native-default suppression are implemented. |
393
405
| P1 | Internationalization | Add message formatting, currency/unit parsing and formatting, and date ranges/time zones. Reusable decimal/percent parsing and formatting, partial-input validation, locale-aware filtering, and localized NumberField model/display conversion now build on inherited locale/direction. |
394
406
| P1 | Accessibility conformance | Complete OS accessibility API projection, relationships, live regions, value announcements, and role-specific native adapter coverage. |
0 commit comments