镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Win32: Track popup-host continuation, lifecycle, and accessibility capabilities #4384

Open

Description

@JasonVMo

Purpose

Track the Office/REX host capabilities needed by the Popover (#4236), Menu (#4232), MenuButton (#4231), and Dropdown (#4224) implementation plan. This is the Win32 host follow-up to #4377 and #4376, not an expansion of the stable native-core /legacy API.

Approved interim

The owner approved the Win32 interim on October 16, 2026: Tab/Shift+Tab close the popup and return to its live trigger instead of continuing past it. All four desktop endpoints still ship together. This exception does not claim owner-relative continuation and must be documented and tested explicitly. Do not synthesize a second Tab or require caller-supplied neighboring targets.

Host capability backlog

  • Add owner-relative forward/backward Tab continuation from the trigger's actual native tab position, including native Office controls, disabled/reordered stops, and active-window guards (A1).
  • Qualify onShow as attached/positioned readiness and the ordering of setInitialFocus/RCTFocusTrapZone focus events; add a native result or ordering guarantee if the existing host cannot establish them (B1/B2).
  • Qualify child-popup input, ancestor input, deepest Escape, sibling replacement, and atomic family closure; add family support where the current host fails (B3/B8).
  • Qualify restoration against later focus moves into native Office controls and trigger press-in/light-dismiss/press ordering; add guarded restoration or anchor-aware dismissal if needed (B4/B5).
  • Qualify the actual key descriptors honored by the host and native UIA menu/combobox/list selection patterns, states, operations, and cross-window ControllerFor relationships; fix missing transport/projection where needed (B6/B7).
  • Consider close/reposition acknowledgements, precise outside/deactivation dismissal causes, and live system menu-show-delay publication as enhancements (C1-C3).

B items are qualification questions, not assertions that the baked host is defective. The current baseline is React Native Win32 0.81.9 / REX 0.81.1. This repository cannot add compiled functionality to that prebuilt host.

Integration contract

  • Detect actual view-manager props/events/commands instead of sniffing product versions. Never dispatch a new managed command unless the host declares it.
  • Keep unclassified dismissal and unsupported operation results truthful; do not manufacture readiness or confirmation.
  • Preserve existing native registration names and /legacy signatures/React compatibility.
  • Record the host owner, release vehicle, capability metadata, exact build/integration result, and physical input plus intended UIA-pattern evidence before enabling each addition. Owner/release vehicle remain to be assigned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions