+ virtual bool CutText(size_t startPosition, size_t endPosition) = 0;
+
+ /**
+ * @brief Deletes text in range.
+ *
+ * @param[in] startPosition The index of first character
+ * @param[in] endPosition The index of first character after the last one expected
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool DeleteText(size_t startPosition, size_t endPosition) = 0;
+
+ /**
+ * @brief Inserts text at startPosition.
+ *
+ * @param[in] startPosition The index of first character
+ * @param[in] text The text content
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool InsertText(size_t startPosition, std::string text) = 0;
+
+ /**
+ * @brief Replaces text with content.
+ *
+ * @param[in] newContents The text content
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool SetTextContents(std::string newContents) = 0;
+};
+
+/**
+ * @brief Interface representing objects which can store a set of selected items.
+ */
+class DALI_ADAPTOR_API Selection : public virtual Accessible
+{
+public:
+ /**
+ * @brief Gets the number of selected children.
+ *
+ * @return The number of selected children (zero if none)
+ */
+ virtual int GetSelectedChildrenCount() = 0;
+
+ /**
+ * @brief Gets a specific selected child.
+ *
+ * @param selectedChildIndex The index of the selected child
+ *
+ * @note @p selectedChildIndex refers to the list of selected children,
+ * not the list of all children
+ *
+ * @return The selected child or nullptr if index is invalid
+ */
+ virtual Accessible* GetSelectedChild(int selectedChildIndex) = 0;
+
+ /**
+ * @brief Selects a child.
+ *
+ * @param childIndex The index of the child
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool SelectChild(int childIndex) = 0;
+
+ /**
+ * @brief Deselects a selected child.
+ *
+ * @param selectedChildIndex The index of the selected child
+ *
+ * @note @p selectedChildIndex refers to the list of selected children,
+ * not the list of all children
+ *
+ * @return true on success, false otherwise
+ *
+ * @see Dali::Accessibility::Selection::DeselectChild
+ */
+ virtual bool DeselectSelectedChild(int selectedChildIndex) = 0;
+
+ /**
+ * @brief Checks whether a child is selected.
+ *
+ * @param childIndex The index of the child
+ *
+ * @return true if given child is selected, false otherwise
+ */
+ virtual bool IsChildSelected(int childIndex) = 0;
+
+ /**
+ * @brief Selects all children.
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool SelectAll() = 0;
+
+ /**
+ * @brief Deselects all children.
+ *
+ * @return true on success, false otherwise
+ */
+ virtual bool ClearSelection() = 0;
+
+ /**
+ * @brief Deselects a child.
+ *
+ * @param childIndex The index of the child.
+ *
+ * @return true on success, false otherwise
+ *
+ * @see Dali::Accessibility::Selection::DeselectSelectedChild
+ */
+ virtual bool DeselectChild(int childIndex) = 0;