mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:57:35 +00:00
LibWeb: Serialize Accessible Name and Description for Accessibility Tree
These will get displayed in the DOM inspector.
This commit is contained in:
parent
da5c9189b2
commit
29d724d95c
3 changed files with 10 additions and 5 deletions
|
@ -24,7 +24,7 @@ AccessibilityTreeNode::AccessibilityTreeNode(JS::GCPtr<DOM::Node> value)
|
|||
m_children = {};
|
||||
}
|
||||
|
||||
void AccessibilityTreeNode::serialize_tree_as_json(JsonObjectSerializer<StringBuilder>& object) const
|
||||
void AccessibilityTreeNode::serialize_tree_as_json(JsonObjectSerializer<StringBuilder>& object, Document const& document) const
|
||||
{
|
||||
if (value()->is_document()) {
|
||||
VERIFY_NOT_REACHED();
|
||||
|
@ -37,6 +37,11 @@ void AccessibilityTreeNode::serialize_tree_as_json(JsonObjectSerializer<StringBu
|
|||
auto role = element->role_or_default();
|
||||
bool has_role = role.has_value() && !ARIA::is_abstract_role(*role);
|
||||
|
||||
auto name = MUST(element->accessible_name(document));
|
||||
MUST(object.add("name"sv, name));
|
||||
auto description = MUST(element->accessible_description(document));
|
||||
MUST(object.add("description"sv, description));
|
||||
|
||||
if (has_role)
|
||||
MUST(object.add("role"sv, ARIA::role_name(*role)));
|
||||
else
|
||||
|
@ -54,11 +59,11 @@ void AccessibilityTreeNode::serialize_tree_as_json(JsonObjectSerializer<StringBu
|
|||
|
||||
if (value()->has_child_nodes()) {
|
||||
auto node_children = MUST(object.add_array("children"sv));
|
||||
for (auto child : children()) {
|
||||
for (auto* child : children()) {
|
||||
if (child->value()->is_uninteresting_whitespace_node())
|
||||
continue;
|
||||
JsonObjectSerializer<StringBuilder> child_object = MUST(node_children.add_object());
|
||||
child->serialize_tree_as_json(child_object);
|
||||
child->serialize_tree_as_json(child_object, document);
|
||||
MUST(child_object.finish());
|
||||
}
|
||||
MUST(node_children.finish());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue