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.
Expose Android editable-field accessibility facts through structured snapshots and
get attrsso callers can distinguish an unavailable observation from an explicitly reported field state.At
fa06c8c6e9ad473dbb9b2e2730bc555117ce104d, the helper omitsisEditable()and text-selection offsets. It emitshint-showingonly when true; the host uses that fact for fill verification but drops it, together withpassword, before publishing snapshot nodes.appendNonEmptyAttributealso collapses explicitly empty text and unavailable text.Required behavior:
editable,password, and API-26+hintShowingbooleans through XML, parsing, regular/raw snapshot nodes, andget attrs. Preserve explicit false; leave unavailable facts absent.selectionStart/selectionEndaccessibility offsets without interpreting them as a character count or proof of value equality.value: ""; unavailable text remains absent.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.