1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 09:24:57 +00:00

LibWeb: Add Support for the ARIA Element Properties

Element now supports getting and setting ARIA properties from
JS and HTML.
This commit is contained in:
Jonah 2022-11-28 17:58:13 -06:00 committed by Sam Atkins
parent 0a244b9c1f
commit e63d9d4925
57 changed files with 976 additions and 1 deletions

View file

@ -156,4 +156,18 @@ DeprecatedString const& HTMLSelectElement::type() const
return select_multiple;
}
FlyString HTMLSelectElement::default_role() const
{
// https://www.w3.org/TR/html-aria/#el-select-multiple-or-size-greater-1
if (has_attribute("multiple"))
return DOM::ARIARoleNames::listbox;
if (has_attribute("size")) {
auto size_attribute = attribute("size").to_int();
if (size_attribute.has_value() && size_attribute.value() > 1)
return DOM::ARIARoleNames::listbox;
}
// https://www.w3.org/TR/html-aria/#el-select
return DOM::ARIARoleNames::combobox;
}
}