NS_IMETHODIMP nsARIAGridCellAccessible::GetColumnIndex(PRInt32 *aColumnIndex) { NS_ENSURE_ARG_POINTER(aColumnIndex); *aColumnIndex = -1; if (IsDefunct()) return NS_ERROR_FAILURE; nsAccessible* row = GetParent(); if (!row) return NS_OK; *aColumnIndex = 0; PRInt32 indexInRow = GetIndexInParent(); for (PRInt32 idx = 0; idx < indexInRow; idx++) { nsAccessible* cell = row->GetChildAt(idx); PRUint32 role = cell->Role(); if (role == nsIAccessibleRole::ROLE_GRID_CELL || role == nsIAccessibleRole::ROLE_ROWHEADER || role == nsIAccessibleRole::ROLE_COLUMNHEADER) (*aColumnIndex)++; } return NS_OK; }
nsAccessible* nsXULTreeItemAccessibleBase::GetSiblingAtOffset(PRInt32 aOffset, nsresult* aError) const { if (aError) *aError = NS_OK; // fail peacefully return mParent->GetChildAt(GetIndexInParent() + aOffset); }
PRUint32 nsHTMLAreaAccessible::StartOffset() { // Image map accessible is not hypertext accessible therefore // StartOffset/EndOffset implementations of nsAccessible doesn't work here. // We return index in parent because image map contains area links only which // are embedded objects. // XXX: image map should be a hypertext accessible. return GetIndexInParent(); }
nsAccessible* nsXULTreeItemAccessibleBase::GetSiblingAtOffset(PRInt32 aOffset, nsresult* aError) { if (IsDefunct()) { if (aError) *aError = NS_ERROR_FAILURE; return nsnull; } if (aError) *aError = NS_OK; // fail peacefully return mParent->GetChildAt(GetIndexInParent() + aOffset); }
PRUint32 nsHTMLAreaAccessible::EndOffset() { return GetIndexInParent() + 1; }