summaryrefslogtreecommitdiffstats
path: root/src/core/browser_accessibility_qt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/browser_accessibility_qt.cpp')
-rw-r--r--src/core/browser_accessibility_qt.cpp29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/core/browser_accessibility_qt.cpp b/src/core/browser_accessibility_qt.cpp
index f7e9c1c4f..816a46041 100644
--- a/src/core/browser_accessibility_qt.cpp
+++ b/src/core/browser_accessibility_qt.cpp
@@ -148,6 +148,19 @@ QAccessibleInterface *BrowserAccessibilityQt::child(int index) const
return static_cast<BrowserAccessibilityQt*>(BrowserAccessibility::PlatformGetChild(index));
}
+QAccessibleInterface *BrowserAccessibilityQt::focusChild() const
+{
+ if (state().focused)
+ return const_cast<BrowserAccessibilityQt *>(this);
+
+ for (int i = 0; i < childCount(); ++i) {
+ if (QAccessibleInterface *iface = child(i)->focusChild())
+ return iface;
+ }
+
+ return nullptr;
+}
+
int BrowserAccessibilityQt::childCount() const
{
return PlatformChildCount();
@@ -157,7 +170,7 @@ int BrowserAccessibilityQt::indexOfChild(const QAccessibleInterface *iface) cons
{
const BrowserAccessibilityQt *child = static_cast<const BrowserAccessibilityQt*>(iface);
- return child->GetIndexInParent();
+ return const_cast<BrowserAccessibilityQt *>(child)->GetIndexInParent();
}
QString BrowserAccessibilityQt::text(QAccessible::Text t) const
@@ -479,7 +492,7 @@ QAccessible::Role BrowserAccessibilityQt::role() const
case ax::mojom::Role::kTabList:
return QAccessible::PageTabList;
case ax::mojom::Role::kTabPanel:
- return QAccessible::PageTab;
+ return QAccessible::Pane;
case ax::mojom::Role::kTerm:
return QAccessible::StaticText;
case ax::mojom::Role::kTextField:
@@ -730,7 +743,7 @@ void BrowserAccessibilityQt::scrollToSubstring(int startIndex, int endIndex)
int count = characterCount();
if (startIndex < endIndex && endIndex < count)
manager()->ScrollToMakeVisible(*this,
- GetRootFrameRangeBoundsRect(
+ GetRootFrameHypertextRangeBoundsRect(
startIndex,
endIndex - startIndex,
ui::AXClippingBehavior::kUnclipped));
@@ -796,24 +809,24 @@ QAccessibleInterface *BrowserAccessibilityQt::cellAt(int row, int column) const
if (row < 0 || row >= rows || column < 0 || column >= columns)
return 0;
- int cell_id = GetCellId(row, column);
- BrowserAccessibility* cell = manager()->GetFromID(cell_id);
+ base::Optional<int> cell_id = GetCellId(row, column);
+ BrowserAccessibility* cell = cell_id ? manager()->GetFromID(*cell_id) : nullptr;
if (cell) {
QAccessibleInterface *iface = static_cast<BrowserAccessibilityQt*>(cell);
return iface;
}
- return 0;
+ return nullptr;
}
QAccessibleInterface *BrowserAccessibilityQt::caption() const
{
- return 0;
+ return nullptr;
}
QAccessibleInterface *BrowserAccessibilityQt::summary() const
{
- return 0;
+ return nullptr;
}
QString BrowserAccessibilityQt::columnDescription(int column) const