Skip to content

Commit

Permalink
Version 1.3 (2013-03-14).
Browse files Browse the repository at this point in the history
  • Loading branch information
jcsteh committed Apr 26, 2013
1 parent 734eebd commit 385cc6c
Show file tree
Hide file tree
Showing 21 changed files with 1,389 additions and 769 deletions.
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
*.conf text
*.sh eol=lf
*.h text
*.vcproj eol=crlf
*.vcxproj eol=crlf
*.sln eol=crlf
*.def eol=crlf
*.rc eol=crlf
93 changes: 32 additions & 61 deletions api/Accessible2.idl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* IAccessible2 IDL Specification
*
* Copyright (c) 2007, 2012 Linux Foundation
* Copyright (c) 2007, 2013 Linux Foundation
* Copyright (c) 2006 IBM Corporation
* Copyright (c) 2000, 2006 Sun Microsystems, Inc.
* All rights reserved.
Expand Down Expand Up @@ -54,21 +54,22 @@
/** @mainpage

@section _interfaces Interfaces
IAccessible2\n
IAccessible2_2\n
IAccessibleAction\n
IAccessibleApplication\n
IAccessibleComponent\n
IAccessibleDocument\n
IAccessibleEditableText\n
IAccessibleHypertext [Deprecated]\n
IAccessibleHypertext\n
IAccessibleHypertext2\n
IAccessibleHyperlink\n
IAccessibleImage\n
IAccessibleRelation [Deprecated]\n
IAccessibleTable [Deprecated]\n
IAccessibleTable2\n
IAccessibleTableCell\n
IAccessibleText [Deprecated]\n
IAccessibleText\n
IAccessibleText2\n
IAccessibleValue

Expand All @@ -78,6 +79,7 @@
IA2TextSegment

@section _enums Enums
::IA2Actions values are predefined actions for use when implementing support for HTML5 media.\n
::IA2CoordinateType values define the requested coordinate type (screen or parent window).\n
::IA2EventID values identify events.\n
::IA2Role values defines roles which are in addition to the existing MSAA roles.\n
Expand Down Expand Up @@ -205,16 +207,22 @@
For the remaining methods which return arrays, the server must allocate the array
and the client must free the array when no longer needed. These methods are
IAccessible2::extendedStates, IAccessible2::localizedExtendedStates,
IAccessibleAction::keyBinding, IAccessibleTable2::selectedCells,
IAccessibleTable2::selectedColumns, and IAccessibleTable2::selectedRows. For
those methods, the server must allocate both the top level array and any storage
IAccessible2_2::relationTargetsOfType, IAccessibleAction::keyBinding,
IAccessibleHypertext2::hyperlinks, IAccessibleTable::selectedChildren,
IAccessibleTable::selectedColumns, IAccessibleTable::selectedRows,
IAccessibleTable2::selectedCells, IAccessibleTable2::selectedColumns,
IAccessibleTable2::selectedRows, IAccessibleTableCell::columnHeaderCells,
and IAccessibleTableCell::rowHeaderCells.
For those methods, the server must allocate both the top level array and any storage
associated with it, e.g. for BSTRs. The server must allocate the arrays with
CoTaskMemAlloc and any BSTRs with SysAllocString. The client must use CoTaskMemFree
to free the array and any BSTRs must be freed with SysFreeString.

Also, the IDL for IAccessible2::extendedStates, IAccessible2::localizedExtendedStates,
and IAccessibleAction::keyBinding includes an extraneous [in] parameter for the caller
to specify the max size of the array. This parameter will be ignored by the COM server.
IAccessibleAction::keyBinding, IAccessibleTable::selectedChildren,
IAccessibleTable::selectedColumns, and IAccessibleTable::selectedRows includes an
extraneous [in] parameter for the caller to specify the max size of the array.
This parameter will be ignored by the COM server.

@section _indexes Zero and One Based Indexes
Unless otherwise specified all offsets and indexes are 0 based.
Expand Down Expand Up @@ -375,7 +383,7 @@ interface IAccessible2 : IAccessible
/** @brief Returns the number of accessible relations for this object.
@param [out] nRelations
@retval S_OK
@deprecated
@deprecated use IAccessible2_2::relationTargetsOfType
*/
[propget] HRESULT nRelations
(
Expand All @@ -388,7 +396,7 @@ interface IAccessible2 : IAccessible
@param [out] relation
@retval S_OK
@retval E_INVALIDARG if bad [in] passed
@deprecated
@deprecated use IAccessible2_2::relationTargetsOfType
*/
[propget] HRESULT relation
(
Expand All @@ -407,7 +415,7 @@ interface IAccessible2 : IAccessible
actual number of relations in the returned array (not more than maxRelations)
@retval S_OK
@retval S_FALSE if there are no relations, nRelations is set to 0
@deprecated
@deprecated use IAccessible2_2::relationTargetsOfType
*/
[propget] HRESULT relations
(
Expand Down Expand Up @@ -549,30 +557,39 @@ interface IAccessible2 : IAccessible
An extended state is a state which is dynamically generated by the application.
It is not predefined by the %IAccessible2 specification.

@param [in] maxExtendedStates
This parameter is ignored. Refer to @ref _arrayConsideration
"Special Consideration when using Arrays" for more details.
@param [out] extendedStates
This array is allocated by the server. Free it with CoTaskMemFree.
This array is allocated by the server. The client must free it with CoTaskMemFree.
@param [out] nExtendedStates
The number of extended states returned; the size of the returned array.
@retval S_OK
@retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
*/
[propget] HRESULT extendedStates
(
[out, size_is(,*nExtendedStates)] BSTR **extendedStates,
[in] long maxExtendedStates,
[out, size_is(,maxExtendedStates), length_is(,*nExtendedStates)] BSTR **extendedStates,
[out, retval] long *nExtendedStates
);

/** @brief Returns the localized extended states (array of strings).

@param [in] maxLocalizedExtendedStates
This parameter is ignored. Refer to @ref _arrayConsideration
"Special Consideration when using Arrays" for more details.
@param [out] localizedExtendedStates
This array is allocated by the server. Free it with CoTaskMemFree.
This array is allocated by the server. The client must free it with CoTaskMemFree.
@param [out] nLocalizedExtendedStates
The number of localized extended states returned; the size of the returned array.
@retval S_OK
@retval S_FALSE if there are no states, [out] values are NULL and 0 respectively
*/
[propget] HRESULT localizedExtendedStates
(
[out, size_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates,
[in] long maxLocalizedExtendedStates,
[out, size_is(,maxLocalizedExtendedStates), length_is(,*nLocalizedExtendedStates)] BSTR **localizedExtendedStates,
[out, retval] long *nLocalizedExtendedStates
);

Expand Down Expand Up @@ -673,51 +690,5 @@ interface IAccessible2 : IAccessible
[out, retval] BSTR *attributes
);

/** @brief Returns the attribute value of a specified attribute specific to this object.
@param [in] name
@param [out] attribute
@retval S_OK
@retval S_FALSE returned if there is nothing to return, [out] value is NULL.
@retval E_INVALIDARG if bad [in] passed.
*/
[propget] HRESULT attribute
(
[in] BSTR name,
[out, retval] BSTR *attribute
);

/** @brief Returns the hypertext accessible in the subtree of this object, and the caret offset within it.
@param [out] accessible
@param [out] caretOffset
@retval S_OK
@retval S_FALSE returned if there is no caret in any of the objects in the subtree, [out] accessible is NULL and [out] caretOffset is -1.
*/
[propget] HRESULT accessibleWithCaret
(
[out] IUnknown **accessible,
[out, retval] long *caretOffset
);

/** @brief Returns relation targets for a specified target type.
@param [in] type
The requested relation type.
@param [in] maxTargets
The number of targets requested. 0 indicates that all targets should be returned.
@param [out] targets
This array is allocated by the server. Free it with CoTaskMemFree.
@param [out] nTargets
The number of targets returned; the size of the returned array.
@retval S_OK
@retval S_FALSE if there are no targets, [out] values are NULL and 0 respectively.
@retval E_INVALIDARG if bad [in] passed.
*/
[propget] HRESULT relationTargetsOfType
(
[in] BSTR type,
[in] long maxTargets,
[out, size_is(,*nTargets)] IUnknown ***targets,
[out, retval] long *nTargets
);

}

8 changes: 4 additions & 4 deletions api/Accessible2_2.idl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* IAccessible2 IDL Specification
*
* Copyright (c) 2007, 2012 Linux Foundation
* Copyright (c) 2007, 2013 Linux Foundation
* Copyright (c) 2006 IBM Corporation
* Copyright (c) 2000, 2006 Sun Microsystems, Inc.
* All rights reserved.
Expand Down Expand Up @@ -86,7 +86,7 @@ interface IAccessible2_2 : IAccessible2
[out, retval] VARIANT *attribute
);

/** @brief Returns the hypertext accessible in the subtree of this object, and the caret offset within it.
/** @brief Returns the deepest hypertext accessible in the subtree of this object, and the caret offset within it.
@param [out] accessible
@param [out] caretOffset
@retval S_OK
Expand All @@ -100,11 +100,11 @@ interface IAccessible2_2 : IAccessible2

/** @brief Returns relation targets for a specified target type.
@param [in] type
The requested relation type.
The requested @ref grpRelations "relation type".
@param [in] maxTargets
The number of targets requested. 0 indicates that all targets should be returned.
@param [out] targets
This array is allocated by the server. Free it with CoTaskMemFree.
This array is allocated by the server. The client must free it with CoTaskMemFree.
@param [out] nTargets
The number of targets returned; the size of the returned array.
@retval S_OK
Expand Down
29 changes: 27 additions & 2 deletions api/AccessibleAction.idl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* IAccessible2 IDL Specification
*
* Copyright (c) 2007, 2010 Linux Foundation
* Copyright (c) 2007, 2012 Linux Foundation
* Copyright (c) 2006 IBM Corporation
* Copyright (c) 2000, 2006 Sun Microsystems, Inc.
* All rights reserved.
Expand Down Expand Up @@ -55,6 +55,31 @@ import "objidl.idl";
import "oaidl.idl";
import "oleacc.idl";

/** This enum defines values which are predefined actions for use when implementing
support for media.

This enum is used when specifying an action for IAccessibleAction::doAction.
*/

enum IA2Actions {
IA2_ACTION_OPEN = -1, /**< Used to inform the server that the client will
signal via IA2_ACTION_COMPLETE when it has consumed
the content provided by the object. This action
allows the object's server to wait for all clients
to signal their readiness for additional content.
Any form of content generation that requires
synchronization with an AT would require use of this
action. One example is the generation of text describing
visual content not obvious from a video's sound track.
In this scenario the Text to Speech or Braille output
may take more time than the related length of silence
in the video's sound track. */
IA2_ACTION_COMPLETE = -2, /**< Used by the client to inform the server that it has
consumed the most recent content provided by this object. */
IA2_ACTION_CLOSE = -3 /**< Used to inform the server that the client no longer
requires synchronization. */
};

/** @brief This interface gives access to actions that can be executed
for accessible objects.

Expand Down Expand Up @@ -148,7 +173,7 @@ interface IAccessibleAction : IUnknown
"Special Consideration when using Arrays" for more details.
@param [out] keyBindings
An array of BSTRs, allocated by the server, one for each key binding.
Free it with CoTaskMemFree.
The client must free it with CoTaskMemFree.
@param [out] nBindings
The number of key bindings returned; the size of the returned array.
@retval S_OK
Expand Down
9 changes: 5 additions & 4 deletions api/AccessibleDocument.idl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* IAccessible2 IDL Specification
*
* Copyright (c) 2012 Linux Foundation
* Copyright (c) 2013 Linux Foundation
* All rights reserved.
*
*
Expand Down Expand Up @@ -60,10 +60,11 @@ import "oleacc.idl";
[object, uuid(C48C7FCF-4AB5-4056-AFA6-902D6E1D1149)]
interface IAccessibleDocument : IUnknown
{
/** @brief Returns the most recently used anchor target within an HTML document.
/** @brief Returns the most recently used anchor target within a document.

Anchor targets are those which has been defined with the <a> tag. An HTML page's
most recently targeted in-page anchor is returned.
A document's most recently targeted in-page anchor is returned. A typical use
of this method is to fetch the anchor target within an HTML document. In this
case anchor targets are those which has been defined with the <a> tag.

@param [out] accessible
@retval S_OK
Expand Down
10 changes: 4 additions & 6 deletions api/AccessibleHypertext2.idl
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
*
* IAccessible2 IDL Specification
*
* Copyright (c) 2007, 2012 Linux Foundation
* Copyright (c) 2007, 2013 Linux Foundation
* Copyright (c) 2006 IBM Corporation
* Copyright (c) 2000, 2006 Sun Microsystems, Inc.
* All rights reserved.
Expand Down Expand Up @@ -59,10 +59,8 @@ import "AccessibleHyperlink.idl";

/** @brief This interface exposes information about hypertext in a document.

The %IAccessibleHypertext interface is the main interface to expose
hyperlinks in a document, typically a text document, that are used
to reference other documents. A typical implementation is to implement
this interface on the smallest text object such as a paragraph of text.
The %IAccessibleHypertext2 interface extends the functinality of the
%IAccessibleHypertext inteface.
*/
[object, uuid(CF64D89F-8287-4B44-8501-A827453A6077)]
interface IAccessibleHypertext2 : IAccessibleHypertext
Expand All @@ -74,7 +72,7 @@ interface IAccessibleHypertext2 : IAccessibleHypertext
provides several kinds of information describing it.

@param [out] hyperlinks
This array is allocated by the server. Free it with CoTaskMemFree.
This array is allocated by the server. The client must free it with CoTaskMemFree.
@param [out] nHyperlinks
The number of links returned; the size of the returned array.
@retval S_OK
Expand Down
Loading

0 comments on commit 385cc6c

Please sign in to comment.