Bug 1975696 - Revert suppression of AXTitle introduced in bug 1901324. r=Jamie a=RyanVM
Original Revision: https://phabricator.services.mozilla.com/D261165 Differential Revision: https://phabricator.services.mozilla.com/D261203
This commit is contained in:
committed by
rvandermeulen@mozilla.com
parent
7c81a53f68
commit
a5ebf1856c
@@ -496,9 +496,8 @@ struct RoleDescrComparator {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (![self providesLabelNotTitle]) {
|
if (![self providesLabelNotTitle]) {
|
||||||
Relation rel = mGeckoAccessible->RelationByType(RelationType::LABELLED_BY);
|
NSArray* relations = [self getRelationsByType:RelationType::LABELLED_BY];
|
||||||
if (rel.Next() && !rel.Next()) {
|
if ([relations count] == 1) {
|
||||||
// A single label relation.
|
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -514,12 +513,6 @@ struct RoleDescrComparator {
|
|||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
Relation rel = mGeckoAccessible->RelationByType(RelationType::LABELLED_BY);
|
|
||||||
if (rel.Next() && !rel.Next()) {
|
|
||||||
// A single label relation. Use AXUITitleElement instead of AXTitle
|
|
||||||
return nil;
|
|
||||||
}
|
|
||||||
|
|
||||||
nsAutoString title;
|
nsAutoString title;
|
||||||
mGeckoAccessible->Name(title);
|
mGeckoAccessible->Name(title);
|
||||||
if (nsCoreUtils::IsWhitespaceString(title)) {
|
if (nsCoreUtils::IsWhitespaceString(title)) {
|
||||||
|
|||||||
@@ -18,16 +18,9 @@ function getChildRoles(parent) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getLinkedTitles(element) {
|
function getLinkedTitles(element) {
|
||||||
return element.getAttributeValue("AXLinkedUIElements").map(linkedElem => {
|
return element
|
||||||
let labelElem = linkedElem.getAttributeValue("AXTitleUIElement");
|
.getAttributeValue("AXLinkedUIElements")
|
||||||
let labelText = labelElem
|
.map(c => c.getAttributeValue("AXTitle"));
|
||||||
? labelElem
|
|
||||||
.getAttributeValue("AXChildren")
|
|
||||||
.map(c => c.getAttributeValue("AXValue"))
|
|
||||||
.join("")
|
|
||||||
: null;
|
|
||||||
return labelText ? labelText : linkedElem.getAttributeValue("AXTitle");
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -159,6 +152,12 @@ addAccessibleTask(
|
|||||||
let catdog = getNativeInterface(accDoc, "catdog");
|
let catdog = getNativeInterface(accDoc, "catdog");
|
||||||
let titleList = ["Cat", "Dog", "CatDog"];
|
let titleList = ["Cat", "Dog", "CatDog"];
|
||||||
|
|
||||||
|
Assert.deepEqual(
|
||||||
|
titleList,
|
||||||
|
[cat, dog, catdog].map(x => x.getAttributeValue("AXTitle")),
|
||||||
|
"Title list matches"
|
||||||
|
);
|
||||||
|
|
||||||
let linkedElems = cat.getAttributeValue("AXLinkedUIElements");
|
let linkedElems = cat.getAttributeValue("AXLinkedUIElements");
|
||||||
is(linkedElems.length, 3, "Cat has three linked UI elems");
|
is(linkedElems.length, 3, "Cat has three linked UI elems");
|
||||||
Assert.deepEqual(
|
Assert.deepEqual(
|
||||||
@@ -237,6 +236,12 @@ addAccessibleTask(
|
|||||||
let catdog = getNativeInterface(accDoc, "catdog");
|
let catdog = getNativeInterface(accDoc, "catdog");
|
||||||
let titleList = ["Cat", "Dog", "CatDog"];
|
let titleList = ["Cat", "Dog", "CatDog"];
|
||||||
|
|
||||||
|
Assert.deepEqual(
|
||||||
|
titleList,
|
||||||
|
[cat, dog, catdog].map(x => x.getAttributeValue("AXTitle")),
|
||||||
|
"Title list matches"
|
||||||
|
);
|
||||||
|
|
||||||
let linkedElems = cat.getAttributeValue("AXLinkedUIElements");
|
let linkedElems = cat.getAttributeValue("AXLinkedUIElements");
|
||||||
is(linkedElems.length, 3, "Cat has three linked UI elems");
|
is(linkedElems.length, 3, "Cat has three linked UI elems");
|
||||||
Assert.deepEqual(
|
Assert.deepEqual(
|
||||||
|
|||||||
Reference in New Issue
Block a user