- Added
getItemRoleByPopupRoleto@ariakit/utilsfor resolving item roles from popup role strings. - Fixed
getClosestFocusablefreezing the page in an infinite loop when walking up from an element that matched the focusable selector but was not actually focusable, such as a box-lessdisplay: contentselement (reachable throughTagList's click handler). - Fixed text field detection for elements rendered inside same-origin iframes. This fixes
Compositekeyboard navigation for iframe text fields, including components built on it such asToolbar, and preventsCommandandComboboxfrom treating iframe text fields as non-text fields. - Added
isInputEvent. - Fixed
queueBeforeEventso the cancel function removes the pending event listener as well as the queued timer. - Fixed
getScrollingElementto resolve the scroll container from the element's own document instead of the top-level page, so scroll-aware behavior works correctly for elements rendered inside a same-origin iframe. - Fixed the
fallbackToFocusableoption ofgetFirstTabbableIn,getAllTabbableIn, andgetLastTabbableInto return focusable elements instead of every raw selector match, so the fallback no longer yields non-focusable elements such as adisplay: noneinput.