<!--
{
  "documentType" : "article",
  "framework" : "BrowserEngineKit",
  "identifier" : "/documentation/BrowserEngineKit/text-interaction",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Text interaction"
}
-->

# Text interaction

Integrate your web browser engine asynchronously with the text system.

## Topics

### Custom text views

[Integrating custom browser text views with UIKit](/documentation/BrowserEngineKit/integrating-custom-browser-text-views-with-uikit)

Process keyboard interactions asynchronously in your iOS browser app’s text view.

[Supporting extended text interactions](/documentation/BrowserEngineKit/support-extended-text-interactions)

Share content, add replacement shortcuts, and perform other rich actions in browser text views.

[`protocol BETextInput`](/documentation/BrowserEngineKit/BETextInput)

A protocol for asynchronous text views that integrate with the text system.

[`protocol BETextInputDelegate`](/documentation/BrowserEngineKit/BETextInputDelegate)

A delegate protocol that a browser text view uses to notify the text system of changes.

### Interaction responses

[`class BETextInteraction`](/documentation/BrowserEngineKit/BETextInteraction)

An interaction you add to a text view to support extended text gestures.

[`protocol BETextInteractionDelegate`](/documentation/BrowserEngineKit/BETextInteractionDelegate)

A set of methods that informs you about selection changes in text views.

[`protocol BEResponderEditActions`](/documentation/BrowserEngineKit/BEResponderEditActions)

A set of methods that defines extended interactions in browser text views.

[`enum BEGestureType`](/documentation/BrowserEngineKit/BEGestureType)

The types of touch gestures that operate on input text.

[`protocol BEResponderEditActions`](/documentation/BrowserEngineKit/BEResponderEditActions)

A set of methods that defines extended interactions in browser text views.

### Text selection

[`protocol BETextSelectionDirectionNavigation`](/documentation/BrowserEngineKit/BETextSelectionDirectionNavigation)

A protocol that defines methods for cursor and selection adjustments.

[`struct BESelectionFlags`](/documentation/BrowserEngineKit/BESelectionFlags)

Flags that indicate different states or characteristics of a text selection.

[`enum BESelectionTouchPhase`](/documentation/BrowserEngineKit/BESelectionTouchPhase)

The different phases of touch interaction during text selection operations.

### Keyboard input

[`class BEKeyEntry`](/documentation/BrowserEngineKit/BEKeyEntry)

A class that represents a keyboard event in the text system.

[`class BEKeyEntryContext`](/documentation/BrowserEngineKit/BEKeyEntryContext)

A class that describes a key event and the text document with which the event is associated.

[`enum BEKeyModifierFlags`](/documentation/BrowserEngineKit/BEKeyModifierFlags)

An enumeration that records the state of the shift-modifier keys.

### Replacements and AutoFill

[`class BEAutoFillTextSuggestion`](/documentation/BrowserEngineKit/BEAutoFillTextSuggestion)

A suggestion object that provides AutoFill text content for web form fields based on a person’s usage patterns.

[`class BETextAlternatives`](/documentation/BrowserEngineKit/BETextAlternatives)

An object that provides alternative text suggestions for a person’s text selection.

[`class BETextDocumentContext`](/documentation/BrowserEngineKit/BETextDocumentContext)

Information about the text surrounding a selection in a document.

[`class BETextDocumentRequest`](/documentation/BrowserEngineKit/BETextDocumentRequest)

A description of the contextual information that a text document request retrieves.

[`struct Options`](/documentation/BrowserEngineKit/BETextDocumentRequest/Options-swift.struct)

Options that describe the contextual information for a text document request.

[`class BETextSuggestion`](/documentation/BrowserEngineKit/BETextSuggestion)

A text suggestion to insert into a document.

[`struct BETextReplacementOptions`](/documentation/BrowserEngineKit/BETextReplacementOptions)

Options that determine the way your app processes text in webpages.

### Information about text

[`protocol BEExtendedTextInputTraits`](/documentation/BrowserEngineKit/BEExtendedTextInputTraits)

An object that customizes text-input appearance and behavior beyond the standard system traits.

[`struct BEDirectionalTextRange`](/documentation/BrowserEngineKit/BEDirectionalTextRange)

Modifications to text length based on its offset.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)