Browser: Add Accessibility Tab to Inspector Widget

This tab allows you to view the accessibility tree like you do
the DOM tree. The implementation limited to the role currently,
once we add the name and description calculation algorithm, those
will be displayed here as well. Selections are also not currently
supported.
This commit is contained in:
Jonah 2022-12-28 17:26:23 -06:00 committed by Sam Atkins
commit e361025cfb
Notes: sideshowbarker 2024-07-17 02:01:31 +09:00
6 changed files with 203 additions and 1 deletions

View file

@ -15,6 +15,7 @@
#include <LibGUI/TreeView.h>
#include <LibWeb/DOM/Document.h>
#include <LibWeb/DOM/Element.h>
#include <LibWebView/AccessibilityTreeModel.h>
#include <LibWebView/DOMTreeModel.h>
#include <LibWebView/OutOfProcessWebView.h>
#include <LibWebView/StylePropertiesModel.h>
@ -91,6 +92,11 @@ InspectorWidget::InspectorWidget()
set_selection(index);
};
auto& accessibility_tree_container = top_tab_widget.add_tab<GUI::Widget>("Accessibility");
accessibility_tree_container.set_layout<GUI::VerticalBoxLayout>();
accessibility_tree_container.layout()->set_margins({ 4, 4, 4, 4 });
m_accessibility_tree_view = accessibility_tree_container.add<GUI::TreeView>();
auto& bottom_tab_widget = splitter.add<GUI::TabWidget>();
auto& computed_style_table_container = bottom_tab_widget.add_tab<GUI::Widget>("Computed");
@ -212,4 +218,11 @@ void InspectorWidget::clear_style_json()
m_element_size_view->set_node_content_height(0);
}
void InspectorWidget::set_accessibility_json(StringView json)
{
m_accessibility_tree_view->set_model(WebView::AccessibilityTreeModel::create(json, *m_accessibility_tree_view));
// TODO: Support selections from accessibility tab
}
}