Skip to content

Expose EditableText.SetTextContents on Unix - #762

Open
mirsella wants to merge 6 commits into
AccessKit:mainfrom
mirsella:exploration/atspi-editable-text
Open

Expose EditableText.SetTextContents on Unix#762
mirsella wants to merge 6 commits into
AccessKit:mainfrom
mirsella:exploration/atspi-editable-text

Conversation

@mirsella

@mirsella mirsella commented Aug 9, 2026

Copy link
Copy Markdown

Closes #761.

This exposes AT-SPI EditableText for writable text inputs that handle string SetValue requests. SetTextContents forwards the new contents as Action::SetValue with ActionData::Value.

Numeric controls continue to use AT-SPI Value. The remaining EditableText methods return NotSupported because AccessKit does not have matching clipboard or range-editing actions.

@DataTriny DataTriny left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @mirsella, thanks for that. A couple of comments below.

Comment thread adapters/atspi-common/src/node.rs Outdated
Comment thread adapters/atspi-common/src/node.rs Outdated
Comment thread adapters/atspi-common/src/node.rs Outdated
Comment thread adapters/unix/src/atspi/interfaces/editable_text.rs Outdated
Comment thread adapters/atspi-common/src/adapter.rs Outdated
The removed explanation described restrictions that do not match how other adapters determine EditableText support.
Expose EditableText for text inputs with text ranges, consistent with the other platform adapters. Read-only state and action advertisement do not determine interface availability.
Remove the generic dispatch helpers introduced for EditableText and route actions through the established do_action_internal helper again. SetTextContents now handles read-only nodes locally while D-Bus interface registration remains the source of capability validation.
Use the interface-local map_error pattern shared by the other AT-SPI interfaces so node errors are translated consistently.
Keep EditableText behavior tests beside PlatformNode and restore the adapter cache tests to their focused fixtures. The relocated test covers writable dispatch, read-only rejection, and text-range-based interface support.
@mirsella

mirsella commented Aug 16, 2026

Copy link
Copy Markdown
Author

hello ! thanks for the review :)
ive addressed your comments.
ive forget to mention, this PR is mostly AI generated. feel free to close this if this doesn't align with you !

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose AT-SPI EditableText.SetTextContents as Action::SetValue

2 participants