···113113</ComboboxField>
114114```
115115116116+## Mobile tray
117117+118118+Below the `small` breakpoint (640px) the popover renders as a bottom tray instead of a positioned
119119+popover, following
120120+[Adobe Spectrum's combobox pattern](https://react-aria.adobe.com/blog/building-a-combobox). The tray
121121+spans the full viewport width, slides up from the bottom edge on open and back down on close, and
122122+keeps clear of the on-screen keyboard using the
123123+[Visual Viewport API](https://developer.mozilla.org/en-US/docs/Web/API/Visual_Viewport_API). A scrim
124124+dims the page behind the tray, and a grab-handle affordance marks its top edge. In browsers that
125125+support `calc-size()`, the tray keeps a usable minimum height even when the viewport is cramped,
126126+while still hugging shorter lists instead of leaving empty space.
127127+128128+## Accessibility
129129+130130+The tray's slide transition (and the desktop popover's fade) is disabled for users who request
131131+`prefers-reduced-motion: reduce`.
132132+116133## Primitive
117134118135Use the [combobox primitives](/docs/components/primitives/combobox) when you need a custom combobox
···2121## Anatomy
22222323`ComboboxInput` owns the React Aria `ComboBox` state. Render the control, popover, listbox, and
2424-items inside it.
2424+items inside it. Below the `small` breakpoint `ComboboxPopover` renders as a full-width bottom tray
2525+instead of a positioned popover; see
2626+[Mobile tray](/docs/components/forms/combobox-field#mobile-tray) on the `ComboboxField` page for
2727+details.
25282629```tsx
2730<ComboboxInput defaultItems={countries} aria-label="Country">