summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQian Sui <qian.sui@samsung.com>2017-06-02 17:06:14 +0800
committerQian Sui <qian.sui@samsung.com>2017-06-02 17:11:33 +0800
commit6315926cf3b3200b4a9c68e0d85cc8c856d5a955 (patch)
tree0189d88f476108e79e1a4699189c984dd61eb89c
parent2e64ba1ee3b6ff540e792d6ac53c3fef7e35a46c (diff)
downloadelm-sharp-6315926cf3b3200b4a9c68e0d85cc8c856d5a955.tar.gz
elm-sharp-6315926cf3b3200b4a9c68e0d85cc8c856d5a955.tar.bz2
elm-sharp-6315926cf3b3200b4a9c68e0d85cc8c856d5a955.zip
[AccessibleObject][AccessibleRelation]Add documents for accessibility classes.
Change-Id: Ia7ab23b53c2232274d4ebdd5b04f71c29c248843 Signed-off-by: Qian Sui <qian.sui@samsung.com>
-rwxr-xr-x[-rw-r--r--]ElmSharp/ElmSharp/AccessRole.cs312
-rwxr-xr-x[-rw-r--r--]ElmSharp/ElmSharp/AccessibleObject.cs67
-rwxr-xr-x[-rw-r--r--]ElmSharp/ElmSharp/AccessibleRelation.cs183
-rwxr-xr-x[-rw-r--r--]ElmSharp/ElmSharp/AccessibleUtil.cs29
-rwxr-xr-x[-rw-r--r--]ElmSharp/ElmSharp/IAccessibleObject.cs3
-rwxr-xr-x[-rw-r--r--]ElmSharp/ElmSharp/ReadingInfoType.cs18
6 files changed, 606 insertions, 6 deletions
diff --git a/ElmSharp/ElmSharp/AccessRole.cs b/ElmSharp/ElmSharp/AccessRole.cs
index 3ff8e35..b49b2a2 100644..100755
--- a/ElmSharp/ElmSharp/AccessRole.cs
+++ b/ElmSharp/ElmSharp/AccessRole.cs
@@ -17,110 +17,422 @@
namespace ElmSharp.Accessible
{
+ /// <summary>
+ /// Enumeration for AccessRole.
+ /// </summary>
public enum AccessRole
{
+ /// <summary>
+ /// Invalid
+ /// </summary>
Invalid,
+ /// <summary>
+ /// AcceleratorLabel role
+ /// </summary>
AcceleratorLabel,
+ /// <summary>
+ /// Alert role
+ /// </summary>
Alert,
+ /// <summary>
+ /// Animation role
+ /// </summary>
Animation,
+ /// <summary>
+ /// Arrow role
+ /// </summary>
Arrow,
+ /// <summary>
+ /// Calendar role
+ /// </summary>
Calendar,
+ /// <summary>
+ /// Canvas role
+ /// </summary>
Canvas,
+ /// <summary>
+ /// CheckBox role
+ /// </summary>
CheckBox,
+ /// <summary>
+ /// CheckMenuItem role
+ /// </summary>
CheckMenuItem,
+ /// <summary>
+ /// ColorChooser role
+ /// </summary>
ColorChooser,
+ /// <summary>
+ /// ColumnHeader role
+ /// </summary>
ColumnHeader,
+ /// <summary>
+ /// ComboBox role
+ /// </summary>
ComboBox,
+ /// <summary>
+ /// DateEditor role
+ /// </summary>
DateEditor,
+ /// <summary>
+ /// DesktopIcon role
+ /// </summary>
DesktopIcon,
+ /// <summary>
+ /// DesktopFrame role
+ /// </summary>
DesktopFrame,
+ /// <summary>
+ /// Dial role
+ /// </summary>
Dial,
+ /// <summary>
+ /// Dialog role
+ /// </summary>
Dialog,
+ /// <summary>
+ /// DirectoryPane role
+ /// </summary>
DirectoryPane,
+ /// <summary>
+ /// DrawingArea role
+ /// </summary>
DrawingArea,
+ /// <summary>
+ /// FileChooser role
+ /// </summary>
FileChooser,
+ /// <summary>
+ /// Filler role
+ /// </summary>
Filler,
+ /// <summary>
+ /// FocusTraversable role
+ /// </summary>
FocusTraversable,
+ /// <summary>
+ /// FontChooser role
+ /// </summary>
FontChooser,
+ /// <summary>
+ /// Frame role
+ /// </summary>
Frame,
+ /// <summary>
+ /// GlassPane role
+ /// </summary>
GlassPane,
+ /// <summary>
+ /// HtmlContainer role
+ /// </summary>
HtmlContainer,
+ /// <summary>
+ /// Icon role
+ /// </summary>
Icon,
+ /// <summary>
+ /// Image role
+ /// </summary>
Image,
+ /// <summary>
+ /// InternalFrame role
+ /// </summary>
InternalFrame,
+ /// <summary>
+ /// Label role
+ /// </summary>
Label,
+ /// <summary>
+ /// LayeredPane role
+ /// </summary>
LayeredPane,
+ /// <summary>
+ /// List role
+ /// </summary>
List,
+ /// <summary>
+ /// ListItem role
+ /// </summary>
ListItem,
+ /// <summary>
+ /// Menu role
+ /// </summary>
Menu,
+ /// <summary>
+ /// MenuBar role
+ /// </summary>
MenuBar,
+ /// <summary>
+ /// MenuItem role
+ /// </summary>
MenuItem,
+ /// <summary>
+ /// OptionPane role
+ /// </summary>
OptionPane,
+ /// <summary>
+ /// PageTab role
+ /// </summary>
PageTab,
+ /// <summary>
+ /// PageTabList role
+ /// </summary>
PageTabList,
+ /// <summary>
+ /// Panel role
+ /// </summary>
Panel,
+ /// <summary>
+ /// PasswordText role
+ /// </summary>
PasswordText,
+ /// <summary>
+ /// PopupMenu role
+ /// </summary>
PopupMenu,
+ /// <summary>
+ /// ProgressBar role
+ /// </summary>
ProgressBar,
+ /// <summary>
+ /// PushButton role
+ /// </summary>
PushButton,
+ /// <summary>
+ /// RadioButton role
+ /// </summary>
RadioButton,
+ /// <summary>
+ /// RadioMenuItem role
+ /// </summary>
RadioMenuItem,
+ /// <summary>
+ /// RootPane role
+ /// </summary>
RootPane,
+ /// <summary>
+ /// RowHeader role
+ /// </summary>
RowHeader,
+ /// <summary>
+ /// ScrollBar role
+ /// </summary>
ScrollBar,
+ /// <summary>
+ /// ScrollPane role
+ /// </summary>
ScrollPane,
+ /// <summary>
+ /// Separator role
+ /// </summary>
Separator,
+ /// <summary>
+ /// Slider role
+ /// </summary>
Slider,
+ /// <summary>
+ /// SpinButton role
+ /// </summary>
SpinButton,
+ /// <summary>
+ /// SplitPane role
+ /// </summary>
SplitPane,
+ /// <summary>
+ /// StatusBar role
+ /// </summary>
StatusBar,
+ /// <summary>
+ /// Table role
+ /// </summary>
Table,
+ /// <summary>
+ /// TableCell role
+ /// </summary>
TableCell,
+ /// <summary>
+ /// TableColumnHeader role
+ /// </summary>
TableColumnHeader,
+ /// <summary>
+ /// TableRowHeader role
+ /// </summary>
TableRowHeader,
+ /// <summary>
+ /// TearoffMenuItem role
+ /// </summary>
TearoffMenuItem,
+ /// <summary>
+ /// Terminal role
+ /// </summary>
Terminal,
+ /// <summary>
+ /// Text role
+ /// </summary>
Text,
+ /// <summary>
+ /// ToggleButton role
+ /// </summary>
ToggleButton,
+ /// <summary>
+ /// ToolBar role
+ /// </summary>
ToolBar,
+ /// <summary>
+ /// ToolTip role
+ /// </summary>
ToolTip,
+ /// <summary>
+ /// Tree role
+ /// </summary>
Tree,
+ /// <summary>
+ /// TreeTable role
+ /// </summary>
TreeTable,
+ /// <summary>
+ /// Unknown
+ /// </summary>
Unknown,
+ /// <summary>
+ /// Viewport role
+ /// </summary>
Viewport,
+ /// <summary>
+ /// Window role
+ /// </summary>
Window,
+ /// <summary>
+ /// Extended role
+ /// </summary>
Extended,
+ /// <summary>
+ /// Header role
+ /// </summary>
Header,
+ /// <summary>
+ /// Footer role
+ /// </summary>
Footer,
+ /// <summary>
+ /// Paragraph
+ /// </summary>
Paragraph,
+ /// <summary>
+ /// Ruler role
+ /// </summary>
Ruler,
+ /// <summary>
+ /// Application role
+ /// </summary>
Application,
+ /// <summary>
+ /// Autocomplete role
+ /// </summary>
Autocomplete,
+ /// <summary>
+ /// Editbar role
+ /// </summary>
Editbar,
+ /// <summary>
+ /// Embedded role
+ /// </summary>
Embedded,
+ /// <summary>
+ /// Entry role
+ /// </summary>
Entry,
+ /// <summary>
+ /// Chart role
+ /// </summary>
Chart,
+ /// <summary>
+ /// Caption role
+ /// </summary>
Caption,
+ /// <summary>
+ /// DocumentFrame role
+ /// </summary>
DocumentFrame,
+ /// <summary>
+ /// Heading role
+ /// </summary>
Heading,
+ /// <summary>
+ /// Page role
+ /// </summary>
Page,
+ /// <summary>
+ /// Section role
+ /// </summary>
Section,
+ /// <summary>
+ /// RedundantObject role
+ /// </summary>
RedundantObject,
+ /// <summary>
+ /// Form role
+ /// </summary>
Form,
+ /// <summary>
+ /// Link role
+ /// </summary>
Link,
+ /// <summary>
+ /// InputMethodWindow role
+ /// </summary>
InputMethodWindow,
+ /// <summary>
+ /// TableRow role
+ /// </summary>
TableRow,
+ /// <summary>
+ /// TreeItem role
+ /// </summary>
TreeItem,
+ /// <summary>
+ /// DocumentSpreadsheet role
+ /// </summary>
DocumentSpreadsheet,
+ /// <summary>
+ /// DocumentPresentation role
+ /// </summary>
DocumentPresentation,
+ /// <summary>
+ /// DocumentText role
+ /// </summary>
DocumentText,
+ /// <summary>
+ /// DocumentWeb role
+ /// </summary>
DocumentWeb,
+ /// <summary>
+ /// DocumentEmail role
+ /// </summary>
DocumentEmail,
+ /// <summary>
+ /// Comment role
+ /// </summary>
Comment,
+ /// <summary>
+ /// ListBox role
+ /// </summary>
ListBox,
+ /// <summary>
+ /// Grouping role
+ /// </summary>
Grouping,
+ /// <summary>
+ /// ImageMap role
+ /// </summary>
ImageMap,
+ /// <summary>
+ /// Notification role
+ /// </summary>
Notification,
+ /// <summary>
+ /// InfoBar role
+ /// </summary>
InfoBar
}
}
diff --git a/ElmSharp/ElmSharp/AccessibleObject.cs b/ElmSharp/ElmSharp/AccessibleObject.cs
index 02ede3b..092abf6 100644..100755
--- a/ElmSharp/ElmSharp/AccessibleObject.cs
+++ b/ElmSharp/ElmSharp/AccessibleObject.cs
@@ -18,9 +18,18 @@ using System;
namespace ElmSharp.Accessible
{
-
+ /// <summary>
+ /// The delegate to define how to provide informations for <see cref="IAccessibleObject.Name"/> or <see cref="IAccessibleObject.Description"/>.
+ /// </summary>
+ /// <param name="obj">The sender obj.</param>
+ /// <returns>Return information for Name or Description.</returns>
public delegate string AccessibleInfoProvider (AccessibleObject obj);
+ /// <summary>
+ /// It's a base abstract class for <see cref="Widget"/>.
+ /// It provides available definitions for the screen reader, such as <see cref="IAccessibleObject.Name"/>, <see cref="IAccessibleObject.Description"/>, <see cref="IAccessibleObject.ReadingInfoType"/>, etc.
+ /// There's many the relationship between two accessible objects, like <see cref="ChildOf"/>, <see cref="ParentOf"/>, <see cref="FlowsTo"/>, <see cref="FlowsFrom"/>, etc.
+ /// </summary>
public abstract class AccessibleObject : EvasObject, IAccessibleObject
{
@@ -30,6 +39,9 @@ namespace ElmSharp.Accessible
Interop.Elementary.Elm_Atspi_Reading_Info_Cb _nameProviderInternal;
Interop.Elementary.Elm_Atspi_Reading_Info_Cb _descriptionProviderInternal;
+ /// <summary>
+ /// Gets or sets the reading information types of an accessible object.
+ /// </summary>
ReadingInfoType IAccessibleObject.ReadingInfoType
{
get
@@ -42,6 +54,10 @@ namespace ElmSharp.Accessible
(Interop.Elementary.Elm_Accessible_Reading_Info_Type)value);
}
}
+
+ /// <summary>
+ /// Gets or sets the role of the object in accessibility domain.
+ /// </summary>
AccessRole IAccessibleObject.Role
{
get
@@ -54,6 +70,10 @@ namespace ElmSharp.Accessible
(Interop.Elementary.Elm_Atspi_Role)value);
}
}
+
+ /// <summary>
+ /// Gets or sets highlightable of given widget.
+ /// </summary>
bool IAccessibleObject.CanHighlight
{
get
@@ -65,6 +85,13 @@ namespace ElmSharp.Accessible
Interop.Elementary.elm_atspi_accessible_can_highlight_set(Handle, value);
}
}
+
+ /// <summary>
+ /// Gets or sets the translation domain of "name" and "description" properties.
+ /// Translation domain should be set if application wants to support i18n for accessibily "name" and "description" properties.
+ /// When translation domain is set values of "name" and "description" properties will be translated with dgettext function using current translation domain as "domainname" parameter.
+ /// It is application developer responsibility to ensure that translation files are loaded and binded to translation domain when accessibility is enabled.
+ /// </summary>
string IAccessibleObject.TranslationDomain
{
get
@@ -76,6 +103,10 @@ namespace ElmSharp.Accessible
Interop.Elementary.elm_atspi_accessible_translation_domain_set(Handle, value);
}
}
+
+ /// <summary>
+ /// Gets or sets an accessible name of the object.
+ /// </summary>
string IAccessibleObject.Name
{
get
@@ -87,6 +118,10 @@ namespace ElmSharp.Accessible
Interop.Elementary.elm_atspi_accessible_name_set(Handle, value);
}
}
+
+ /// <summary>
+ /// Gets or sets contextual information about object.
+ /// </summary>
string IAccessibleObject.Description
{
get
@@ -99,6 +134,9 @@ namespace ElmSharp.Accessible
}
}
+ /// <summary>
+ /// Gets or sets the delegate for <see cref="IAccessibleObject.Name"/>.
+ /// </summary>
AccessibleInfoProvider IAccessibleObject.NameProvider
{
get
@@ -124,6 +162,10 @@ namespace ElmSharp.Accessible
}
}
}
+
+ /// <summary>
+ /// Gets or sets the delegate for <see cref = "IAccessibleObject.Description" />.
+ /// </summary>
AccessibleInfoProvider IAccessibleObject.DescriptionProvider
{
get
@@ -150,31 +192,54 @@ namespace ElmSharp.Accessible
}
}
+ /// <summary>
+ /// Creates and initializes a new instance of the AccessibleObject class with parent EvasObject class parameter.
+ /// </summary>
+ /// <param name="parent">Parent EvasObject class </param>
public AccessibleObject(EvasObject parent) : base(parent)
{
}
+ /// <summary>
+ /// Creates and initializes a new instance of the AccessibleObject class.
+ /// </summary>
public AccessibleObject() : base()
{
}
+ /// <summary>
+ /// Defines the relationship between two accessible objects.
+ /// Relationships can be queried by Assistive Technology clients to provide customized feedback, improving overall user experience.
+ /// AppendRelation API is asymmetric, which means that appending, for example, relation <see cref="FlowsTo"/> from object A to B, do not append relation <see cref="FlowsFrom"/> from object B to object A.
+ /// </summary>
+ /// <param name="relation">The relationship between source object and target object of a given type.</param>
void IAccessibleObject.AppendRelation(IAccessibleRelation relation)
{
if (relation.Target == null) throw new ArgumentException("Target of Accessibility relation can not be null");
Interop.Elementary.elm_atspi_accessible_relationship_append(Handle, relation.Type, relation.Target.Handle);
}
+ /// <summary>
+ /// Removes the relationship between two accessible objects.
+ /// </summary>
+ /// <param name="relation">The relationship between source object and target object of a given type.</param>
void IAccessibleObject.RemoveRelation(IAccessibleRelation relation)
{
if (relation.Target == null) throw new ArgumentException("Target of Accessibility relation can not be null");
Interop.Elementary.elm_atspi_accessible_relationship_remove(Handle, relation.Type, relation.Target.Handle);
}
+ /// <summary>
+ /// Highlights accessible widget.
+ /// </summary>
public void Highlight()
{
Interop.Elementary.elm_atspi_component_highlight_grab(Handle);
}
+ /// <summary>
+ /// Clears highlight of accessible widget.
+ /// </summary>
public void Unhighlight()
{
Interop.Elementary.elm_atspi_component_highlight_clear(Handle);
diff --git a/ElmSharp/ElmSharp/AccessibleRelation.cs b/ElmSharp/ElmSharp/AccessibleRelation.cs
index b909778..4d24e98 100644..100755
--- a/ElmSharp/ElmSharp/AccessibleRelation.cs
+++ b/ElmSharp/ElmSharp/AccessibleRelation.cs
@@ -17,6 +17,9 @@
namespace ElmSharp.Accessible
{
+ /// <summary>
+ /// IAccessibleRelation is a interface which defines the relationship between two accessible objects.
+ /// </summary>
public interface IAccessibleRelation
{
@@ -24,162 +27,342 @@ namespace ElmSharp.Accessible
int Type { get; }
}
+ /// <summary>
+ /// To define label info for accessible object.
+ /// </summary>
public class LabelledBy : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is LabelledBy.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the LabelledBy type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABELLED_BY; }
}
}
+ /// <summary>
+ /// To define label info for accessible object.
+ /// </summary>
public class LabelFor : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is LabelFor.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the LabelFor type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_LABEL_FOR; }
}
}
+ /// <summary>
+ /// To define control relationship for accessible object.
+ /// </summary>
public class ControllerFor : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is ControllerFor.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the ControllerFor type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLER_FOR; }
}
}
+ /// <summary>
+ /// To define control relationship for accessible object.
+ /// </summary>
public class ControlledBy : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is ControlledBy.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the ControlledBy type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_CONTROLLED_BY; }
}
}
+ /// <summary>
+ /// To define member relationship for accessible object.
+ /// </summary>
public class MemberOf : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is MemberOf.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the MemberOf type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_MEMBER_OF; }
}
}
+ /// <summary>
+ /// To define tooltip for accessible object.
+ /// </summary>
public class TooltipFor : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is TooltipFor.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the TooltipFor type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_TOOLTIP_FOR; }
}
}
+ /// <summary>
+ /// To define child for accessible object.
+ /// </summary>
public class ChildOf : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is ChildOf.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the ChildOf type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_CHILD_OF; }
}
}
+ /// <summary>
+ /// To define parent for accessible object.
+ /// </summary>
public class ParentOf : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is ParentOf.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the ParentOf type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_NODE_PARENT_OF; }
}
}
+ /// <summary>
+ /// To define extend for accessible object.
+ /// </summary>
public class Extended : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is Extended.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the Extended type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EXTENDED; }
}
}
+ /// <summary>
+ /// To define the custom reading order.
+ /// </summary>
public class FlowsTo : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is FlowsTo.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the FlowsTo type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_TO; }
}
}
+ /// <summary>
+ /// To define the custom reading order.
+ /// </summary>
public class FlowsFrom : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is FlowsFrom.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the FlowsFrom type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_FLOWS_FROM; }
}
}
+ /// <summary>
+ /// To define subwindow for accessible object.
+ /// </summary>
public class SubwindowOf : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is SubwindowOf.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the SubwindowOf type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_SUBWINDOW_OF; }
}
}
+ /// <summary>
+ /// To define embed for accessible object.
+ /// </summary>
public class Embeds : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is Embeds.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the Embeds type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDS; }
}
}
+ /// <summary>
+ /// To define embed for accessible object.
+ /// </summary>
public class EmbeddedBy : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is EmbeddedBy.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the EmbeddedBy type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_EMBEDDED_BY; }
}
}
+ /// <summary>
+ /// To define popup for accessible object.
+ /// </summary>
public class PopupFor : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is PopupFor.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the PopupFor type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_POPUP_FOR; }
}
}
+ /// <summary>
+ /// To define parent window for accessible object.
+ /// </summary>
public class ParentWindowOf : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is ParentWindowOf.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the ParentWindowOf type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_PARENT_WINDOW_OF; }
}
}
+ /// <summary>
+ /// To define description for accessible object.
+ /// </summary>
public class DescriptionFor : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is DescriptionFor.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the DescriptionFor type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIPTION_FOR; }
}
}
+ /// <summary>
+ /// To define description for accessible object.
+ /// </summary>
public class DescribedBy : IAccessibleRelation
{
+ /// <summary>
+ /// Gets or sets the target object which is DescribedBy.
+ /// </summary>
public AccessibleObject Target { get; set; }
+
+ /// <summary>
+ /// Gets the DescribedBy type.
+ /// </summary>
public int Type
{
get { return (int)Interop.Elementary.Elm_Atspi_Relation_Type.ELM_ATSPI_RELATION_DESCRIBED_BY; }
diff --git a/ElmSharp/ElmSharp/AccessibleUtil.cs b/ElmSharp/ElmSharp/AccessibleUtil.cs
index 174a81b..720fca4 100644..100755
--- a/ElmSharp/ElmSharp/AccessibleUtil.cs
+++ b/ElmSharp/ElmSharp/AccessibleUtil.cs
@@ -20,14 +20,32 @@ using System.Threading.Tasks;
namespace ElmSharp.Accessible
{
+ /// <summary>
+ /// Enumeration for ReadingStatus.
+ /// </summary>
public enum ReadingStatus
{
+ /// <summary>
+ /// Unknown status
+ /// </summary>
Unknown,
+ /// <summary>
+ /// Cancelled status
+ /// </summary>
Cancelled,
+ /// <summary>
+ /// Stopped status
+ /// </summary>
Stoppped,
+ /// <summary>
+ /// Skipped status
+ /// </summary>
Skipped
}
+ /// <summary>
+ /// AccessibleUtil provides a method to set the reading information.
+ /// </summary>
public static class AccessibleUtil
{
@@ -55,11 +73,12 @@ namespace ElmSharp.Accessible
gch.Free();
}
- /*
- * ReadingCancelled is never appear if discardable is true.
- * ReadingStoppped is appear on end of normal operation.
- * I don't know when the ReadingSkipped is appeared.
- */
+ /// <summary>
+ /// Reads given text by screen reader.
+ /// </summary>
+ /// <param name="text">The reading text.</param>
+ /// <param name="discardable">If true, reading can be discarded by subsequent reading requests, if false the reading must finish before next reading request can be started.</param>
+ /// <returns>Return a task with reading status.</returns>
public static Task<ReadingStatus> Say(string text, bool discardable)
{
var tcs = new TaskCompletionSource<ReadingStatus>();
diff --git a/ElmSharp/ElmSharp/IAccessibleObject.cs b/ElmSharp/ElmSharp/IAccessibleObject.cs
index bf633b1..f1488ff 100644..100755
--- a/ElmSharp/ElmSharp/IAccessibleObject.cs
+++ b/ElmSharp/ElmSharp/IAccessibleObject.cs
@@ -16,6 +16,9 @@
namespace ElmSharp.Accessible
{
+ /// <summary>
+ /// IAccessibleObject is a interface which defines properties and methods of accessible object.
+ /// </summary>
public interface IAccessibleObject
{
ReadingInfoType ReadingInfoType { get; set; }
diff --git a/ElmSharp/ElmSharp/ReadingInfoType.cs b/ElmSharp/ElmSharp/ReadingInfoType.cs
index 846a063..35df932 100644..100755
--- a/ElmSharp/ElmSharp/ReadingInfoType.cs
+++ b/ElmSharp/ElmSharp/ReadingInfoType.cs
@@ -18,13 +18,31 @@ using System;
namespace ElmSharp.Accessible
{
+ /// <summary>
+ /// Enumeration for ReadingInfoType.
+ /// </summary>
[Flags]
public enum ReadingInfoType
{
+ /// <summary>
+ /// None
+ /// </summary>
None = 0,
+ /// <summary>
+ /// Name for reading info type
+ /// </summary>
Name = 0x1,
+ /// <summary>
+ /// Role for reading info type
+ /// </summary>
Role = 0x2,
+ /// <summary>
+ /// Description for reading info type
+ /// </summary>
Description = 0x4,
+ /// <summary>
+ /// State for reading info type
+ /// </summary>
State = 0x8
}
}