SheetXL - v1.0.2
    Preparing search index...

    Variable KeyboardAccessoryConst

    KeyboardAccessory: ForwardRefExoticComponent<
        KeyboardAccessoryProps & RefAttributes<HTMLDivElement>,
    > = ...

    Content that rides the top of the virtual keyboard: a bar of a page-level portal, placed from the visual viewport (the part of the page the keyboard leaves visible).

    CSS cannot pin anything to the visual viewport (position: fixed pins to the layout viewport, which the keyboard does not shrink on iOS, nor on Chrome by default), and script placement runs a frame behind the browser's own scroll, zoom and address-bar animation. So:

    • Hidden while anything moves. A visual viewport resize or scroll, or a page scroll, hides it at once; once nothing has moved for a moment it is placed on the keyboard and fades in.
    • Parked at the top of the visible area while hidden. A focused field the browser sees under the keyboard's edge makes it pan the page to reveal it, and mid-pan the visual viewport's readings do not match the screen. Parked at the top, the field is always in view.
    • Undoes pinch zoom, so it stays the size of the screen.
    • Placed by the browser where it can. Where the browser offers the VirtualKeyboard API (Chromium, in a secure context), the keyboard overlays the page while the accessory floats, and the accessory sits on env(keyboard-inset-height). The visual viewport is wrong in one state there: Chrome bringing its address bar back as the keyboard rises on a scrolled page reports the visible area as if the bar were still hidden, which would put the accessory behind the keyboard. Elsewhere (iOS Safari, Firefox) it is placed from the visual viewport.

    Its top edge is published through getKeyboardAccessoryTop while it shows. It never scrolls the page.

    Inside an iframe the visual viewport is the iframe's, so the accessory rides the iframe's bottom. A floating or split keyboard, or a hardware one, does not shrink the visual viewport: the accessory sits at the bottom of the visible area, and no keyboard close is reported.