diff --git a/accessible/atk/nsMaiInterfaceTableCell.cpp b/accessible/atk/nsMaiInterfaceTableCell.cpp index 06a684a87de5..6d61344051cc 100644 --- a/accessible/atk/nsMaiInterfaceTableCell.cpp +++ b/accessible/atk/nsMaiInterfaceTableCell.cpp @@ -49,8 +49,8 @@ static gboolean GetPositionCB(AtkTableCell* aCell, gint* aRow, gint* aCol) { return true; } -static gboolean GetColumnRowSpanCB(AtkTableCell* aCell, gint* aCol, gint* aRow, - gint* aColExtent, gint* aRowExtent) { +static gboolean GetRowColumnSpanCB(AtkTableCell* aCell, gint* aRow, gint* aCol, + gint* aRowExtent, gint* aColExtent) { Accessible* acc = GetInternalObj(ATK_OBJECT(aCell)); if (!acc) { return false; @@ -62,7 +62,7 @@ static gboolean GetColumnRowSpanCB(AtkTableCell* aCell, gint* aCol, gint* aRow, *aCol = static_cast(cellAcc->ColIdx()); *aRow = static_cast(cellAcc->RowIdx()); *aColExtent = static_cast(cellAcc->ColExtent()); - *aRowExtent = static_cast(cellAcc->ColExtent()); + *aRowExtent = static_cast(cellAcc->RowExtent()); return true; } @@ -143,6 +143,6 @@ void tableCellInterfaceInitCB(AtkTableCellIface* aIface) { aIface->get_position = GetPositionCB; aIface->get_row_span = GetRowSpanCB; aIface->get_row_header_cells = GetRowHeaderCellsCB; - aIface->get_row_column_span = GetColumnRowSpanCB; + aIface->get_row_column_span = GetRowColumnSpanCB; aIface->get_table = GetTableCB; } diff --git a/accessible/tests/browser/atk/browser.toml b/accessible/tests/browser/atk/browser.toml index 9af981e0c8b9..99cdba4ca28a 100644 --- a/accessible/tests/browser/atk/browser.toml +++ b/accessible/tests/browser/atk/browser.toml @@ -13,3 +13,4 @@ prefs = [ ] ["browser_role.js"] +["browser_table.js"] diff --git a/accessible/tests/browser/atk/browser_table.js b/accessible/tests/browser/atk/browser_table.js new file mode 100644 index 000000000000..98b3270465f5 --- /dev/null +++ b/accessible/tests/browser/atk/browser_table.js @@ -0,0 +1,54 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +"use strict"; + +/** + * Test getRowColumnSpan. + */ +addAccessibleTask( + ` + + + + + + + + + +
abcf
de
+ `, + async function (browser, docAcc) { + let result = await runPython(` + global doc + doc = getDoc() + ab = findByDomId(doc, "ab") + return str(ab.queryTableCell().getRowColumnSpan()) + `); + is( + result, + "(row=0, column=0, row_span=1, column_span=2)", + "ab getColumnRowSpan correct" + ); + result = await runPython(` + cf = findByDomId(doc, "cf") + return str(cf.queryTableCell().getRowColumnSpan()) + `); + is( + result, + "(row=0, column=2, row_span=2, column_span=1)", + "cf getColumnRowSpan correct" + ); + result = await runPython(` + d = findByDomId(doc, "d") + return str(d.queryTableCell().getRowColumnSpan()) + `); + is( + result, + "(row=1, column=0, row_span=1, column_span=1)", + "d getColumnRowSpan correct" + ); + } +);