Bug 1732306 - Part 3: Implement time role mappings, r=Jamie

This revision adds role mappings for the 'time' ARIA role by implementing HTML
markup mapping, adding platform mappings, and adding the role info itself. This
revision also enables the previously-failed wpt tests and fixes other tests.

Differential Revision: https://phabricator.services.mozilla.com/D200132
This commit is contained in:
Nathan LaPre 2024-02-08 17:49:42 +00:00
Родитель db33b5dc13
Коммит 447963adb2
8 изменённых файлов: 28 добавлений и 7 удалений

Просмотреть файл

@ -1299,6 +1299,15 @@ static const nsRoleMapEntry sWAIRoleMaps[] = {
eARIAMultiline,
eARIAReadonlyOrEditable
},
{ // time
nsGkAtoms::time,
roles::TIME,
kUseMapRole,
eNoValue,
eNoAction,
eNoLiveAttr,
kNoReqStates
},
{ // timer
nsGkAtoms::timer,
roles::NOTHING,

Просмотреть файл

@ -368,7 +368,7 @@ MARKUPMAP(
},
roles::TABLE)
MARKUPMAP(time, New_HyperText, 0, Attr(xmlroles, time),
MARKUPMAP(time, New_HyperText, roles::TIME, Attr(xmlroles, time),
AttrFromDOM(datetime, datetime))
MARKUPMAP(tbody, nullptr, roles::GROUPING)

Просмотреть файл

@ -1532,4 +1532,15 @@ ROLE(STRONG,
java::SessionAccessibility::CLASSNAME_VIEW,
eNameFromSubtreeIfReqRule)
ROLE(TIME,
"time",
nsGkAtoms::time,
ATK_ROLE_STATIC,
NSAccessibilityGroupRole,
@"AXTimeGroup",
ROLE_SYSTEM_GROUPING,
ROLE_SYSTEM_GROUPING,
java::SessionAccessibility::CLASSNAME_VIEW,
eNameFromSubtreeIfReqRule)
// clang-format on

Просмотреть файл

@ -794,4 +794,9 @@ interface nsIAccessibleRole : nsISupports
* Represents content that is important, serious, or urgent.
*/
const unsigned long ROLE_STRONG = 136;
/**
* Represents a specific point in time.
*/
const unsigned long ROLE_TIME = 137;
};

Просмотреть файл

@ -1473,7 +1473,7 @@
// HTML:time
obj = {
role: ROLE_TEXT,
role: ROLE_TIME,
attributes: { "xml-roles": "time", "datetime": "2001-05-15 19:00" },
interfaces: [ nsIAccessibleText, nsIAccessibleHyperText ],
};

Просмотреть файл

@ -132,6 +132,7 @@ const ROLE_TERM = nsIAccessibleRole.ROLE_TERM;
const ROLE_TEXT = nsIAccessibleRole.ROLE_TEXT;
const ROLE_TEXT_CONTAINER = nsIAccessibleRole.ROLE_TEXT_CONTAINER;
const ROLE_TEXT_LEAF = nsIAccessibleRole.ROLE_TEXT_LEAF;
const ROLE_TIME = nsIAccessibleRole.ROLE_TIME;
const ROLE_TIME_EDITOR = nsIAccessibleRole.ROLE_TIME_EDITOR;
const ROLE_TOGGLE_BUTTON = nsIAccessibleRole.ROLE_TOGGLE_BUTTON;
const ROLE_TOOLBAR = nsIAccessibleRole.ROLE_TOOLBAR;

Просмотреть файл

@ -1,3 +1 @@
[roles.html]
[el-time]
expected: FAIL

Просмотреть файл

@ -1,4 +1 @@
[roles.html]
[role: time]
expected: FAIL
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1732306