Skip to content

feat(android): expose editable-field metadata in structured snapshots #2288

Description

@AdzeB

Expose Android editable-field accessibility facts through structured snapshots and get attrs so callers can distinguish an unavailable observation from an explicitly reported field state.

At fa06c8c6e9ad473dbb9b2e2730bc555117ce104d, the helper omits isEditable() and text-selection offsets. It emits hint-showing only when true; the host uses that fact for fill verification but drops it, together with password, before publishing snapshot nodes. appendNonEmptyAttribute also collapses explicitly empty text and unavailable text.

Required behavior:

  • Carry native editable, password, and API-26+ hintShowing booleans through XML, parsing, regular/raw snapshot nodes, and get attrs. Preserve explicit false; leave unavailable facts absent.
  • Carry available nonnegative selectionStart/selectionEnd accessibility offsets without interpreting them as a character count or proof of value equality.
  • Preserve explicit empty accessibility text as value: ""; unavailable text remains absent.
  • Add no secret-value reads or fill-verification claims. This improves observations; it does not establish exact contents of opaque PIN/password controls.

Completion requires parser-to-snapshot regression coverage for false/zero/empty and unavailable states, native helper compilation, and a live Android fixture capture confirming propagation to get attrs.

Related: #2063 was closed by #2066, which adds empty fill and internal hint handling. This is the remaining observation boundary, not another clear-field request. #1832 discusses other missing Android state attributes; this scope does not add checked/checkable/selected/long-clickable semantics.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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