/* * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ namespace ElmSharp.Accessible { /// /// IAccessibleObject is an interface, which defines the properties and methods of an accessible object. /// /// preview public interface IAccessibleObject { /// /// Gets or sets the reading information types of an accessible object. /// /// preview ReadingInfoType ReadingInfoType { get; set; } /// /// Gets or sets the role of the object in an accessibility domain. /// /// preview AccessRole Role { get; set; } /// /// Gets or sets the highlightable of the given widget. /// /// preview bool CanHighlight { get; set; } /// /// Gets or sets the translation domain of the "name" and "description" properties. /// Translation domain should be set if the application wants to support i18n for accessing the "name" and "description" properties. /// When the translation domain is set, values of the "name" and "description" properties will be translated with dgettext function using the current translation domain as "domainname" parameter. /// It is the application developer's responsibility to ensure that translation files are loaded and binded to the translation domain when accessibility is enabled. /// /// preview string TranslationDomain { get; set; } /// /// Gets or sets an accessible name of the object. /// /// preview string Name { get; set; } /// /// Gets or sets contextual information about the object. /// /// preview string Description { get; set; } /// /// Gets or sets the delegate for . /// /// preview AccessibleInfoProvider NameProvider { get; set; } /// /// Gets or sets the delegate for . /// /// preview AccessibleInfoProvider DescriptionProvider { get; set; } /// /// 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 from object A to B) do not append relation from object B to object A. /// /// The relationship between the source object and target object of a given type. /// preview void AppendRelation(IAccessibleRelation relation); /// /// Removes the relationship between two accessible objects. /// /// The relationship between the source object and target object of a given type. /// preview void RemoveRelation(IAccessibleRelation relation); /// /// Highlights the accessible widget. /// /// preview void Highlight(); /// /// Clears the highlight of the accessible widget. /// /// preview void Unhighlight(); } }