summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--offapi/com/sun/star/accessibility/AccessibleRole.idl8
-rw-r--r--test/source/a11y/AccessibilityTools.cxx2
-rw-r--r--vcl/osx/a11yrolehelper.mm2
-rw-r--r--vcl/qa/cppunit/a11y/atspi2/atspi2.cxx1
-rw-r--r--vcl/qt5/QtAccessibleWidget.cxx1
-rw-r--r--vcl/source/window/builder.cxx2
-rw-r--r--vcl/unx/gtk3/a11y/atkwrapper.cxx2
-rw-r--r--vcl/unx/gtk4/a11y.cxx1
-rw-r--r--winaccessibility/inc/AccParagraphEventListener.hxx4
-rw-r--r--winaccessibility/source/service/AccObject.cxx6
-rw-r--r--winaccessibility/source/service/AccObjectWinManager.cxx1
11 files changed, 26 insertions, 4 deletions
diff --git a/offapi/com/sun/star/accessibility/AccessibleRole.idl b/offapi/com/sun/star/accessibility/AccessibleRole.idl
index f5e269d3a423..09fac50df7de 100644
--- a/offapi/com/sun/star/accessibility/AccessibleRole.idl
+++ b/offapi/com/sun/star/accessibility/AccessibleRole.idl
@@ -744,6 +744,14 @@ constants AccessibleRole
*/
const short NOTIFICATION = 87;
+ /** Block quote role.
+
+ <p>A section of content that is quoted from another source.</p>
+
+ @since LibreOffice 24.2
+ */
+ const short BLOCK_QUOTE = 88;
+
};
}; }; }; };
diff --git a/test/source/a11y/AccessibilityTools.cxx b/test/source/a11y/AccessibilityTools.cxx
index d19c42b388e0..150a1cdf836a 100644
--- a/test/source/a11y/AccessibilityTools.cxx
+++ b/test/source/a11y/AccessibilityTools.cxx
@@ -220,6 +220,8 @@ OUString AccessibilityTools::getRoleName(const sal_Int16 role)
return "UNKNOWN";
case accessibility::AccessibleRole::ALERT:
return "ALERT";
+ case accessibility::AccessibleRole::BLOCK_QUOTE:
+ return "BLOCK_QUOTE";
case accessibility::AccessibleRole::BUTTON_DROPDOWN:
return "BUTTON_DROPDOWN";
case accessibility::AccessibleRole::BUTTON_MENU:
diff --git a/vcl/osx/a11yrolehelper.mm b/vcl/osx/a11yrolehelper.mm
index e95036dbebd9..a1cf62f327cc 100644
--- a/vcl/osx/a11yrolehelper.mm
+++ b/vcl/osx/a11yrolehelper.mm
@@ -46,6 +46,7 @@ using namespace ::com::sun::star::uno;
MAP( AccessibleRole::UNKNOWN, NSAccessibilityUnknownRole );
MAP( AccessibleRole::ALERT, NSAccessibilityUnknownRole ); // FIXME
+ MAP( AccessibleRole::BLOCK_QUOTE, NSAccessibilityTextAreaRole );
MAP( AccessibleRole::COLUMN_HEADER, NSAccessibilityColumnRole );
MAP( AccessibleRole::CANVAS, NSAccessibilityUnknownRole ); // FIXME
MAP( AccessibleRole::CHECK_BOX, NSAccessibilityCheckBoxRole );
@@ -186,6 +187,7 @@ using namespace ::com::sun::star::uno;
MAP( AccessibleRole::UNKNOWN, NSAccessibilityUnknownSubrole );
MAP( AccessibleRole::ALERT, NSAccessibilitySystemDialogSubrole );
+ MAP( AccessibleRole::BLOCK_QUOTE, @"" );
MAP( AccessibleRole::COLUMN_HEADER, @"" );
MAP( AccessibleRole::CANVAS, @"" );
MAP( AccessibleRole::CHECK_BOX, @"" );
diff --git a/vcl/qa/cppunit/a11y/atspi2/atspi2.cxx b/vcl/qa/cppunit/a11y/atspi2/atspi2.cxx
index d51ceeaaee81..85110eeddecb 100644
--- a/vcl/qa/cppunit/a11y/atspi2/atspi2.cxx
+++ b/vcl/qa/cppunit/a11y/atspi2/atspi2.cxx
@@ -36,6 +36,7 @@ static AtspiRole mapToAtspiRole(sal_Int16 nRole)
MAP_DIRECT(UNKNOWN);
MAP_DIRECT(ALERT);
+ MAP_DIRECT(BLOCK_QUOTE);
MAP_DIRECT(COLUMN_HEADER);
MAP_DIRECT(CANVAS);
MAP_DIRECT(CHECK_BOX);
diff --git a/vcl/qt5/QtAccessibleWidget.cxx b/vcl/qt5/QtAccessibleWidget.cxx
index cec049340f07..cba67bc60cc8 100644
--- a/vcl/qt5/QtAccessibleWidget.cxx
+++ b/vcl/qt5/QtAccessibleWidget.cxx
@@ -462,6 +462,7 @@ QAccessible::Role QtAccessibleWidget::role() const
case AccessibleRole::PANEL:
return QAccessible::Pane;
case AccessibleRole::PARAGRAPH:
+ case AccessibleRole::BLOCK_QUOTE:
return QAccessible::Paragraph;
case AccessibleRole::PASSWORD_TEXT:
return QAccessible::EditableText;
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index 229296a275c9..3d9456432164 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -2438,7 +2438,7 @@ namespace BuilderUtils
{ "info bar", AccessibleRole::UNKNOWN },
{ "level bar", AccessibleRole::UNKNOWN },
{ "title bar", AccessibleRole::UNKNOWN },
- { "block quote", AccessibleRole::UNKNOWN },
+ { "block quote", AccessibleRole::BLOCK_QUOTE },
{ "audio", AccessibleRole::UNKNOWN },
{ "video", AccessibleRole::UNKNOWN },
{ "definition", AccessibleRole::UNKNOWN },
diff --git a/vcl/unx/gtk3/a11y/atkwrapper.cxx b/vcl/unx/gtk3/a11y/atkwrapper.cxx
index 904358a2d229..729da012e067 100644
--- a/vcl/unx/gtk3/a11y/atkwrapper.cxx
+++ b/vcl/unx/gtk3/a11y/atkwrapper.cxx
@@ -174,6 +174,8 @@ static AtkRole mapToAtkRole( sal_Int16 nRole )
return ATK_ROLE_UNKNOWN;
case accessibility::AccessibleRole::ALERT:
return ATK_ROLE_ALERT;
+ case accessibility::AccessibleRole::BLOCK_QUOTE:
+ return ATK_ROLE_BLOCK_QUOTE;
case accessibility::AccessibleRole::COLUMN_HEADER:
return ATK_ROLE_COLUMN_HEADER;
case accessibility::AccessibleRole::CANVAS:
diff --git a/vcl/unx/gtk4/a11y.cxx b/vcl/unx/gtk4/a11y.cxx
index 51c055bca186..fcd9cb6fb949 100644
--- a/vcl/unx/gtk4/a11y.cxx
+++ b/vcl/unx/gtk4/a11y.cxx
@@ -138,6 +138,7 @@ map_accessible_role(const css::uno::Reference<css::accessibility::XAccessible>&
eRole = GTK_ACCESSIBLE_ROLE_WIDGET;
break;
case css::accessibility::AccessibleRole::PARAGRAPH:
+ case css::accessibility::AccessibleRole::BLOCK_QUOTE:
#if GTK_CHECK_VERSION(4, 13, 1)
eRole = GTK_ACCESSIBLE_ROLE_PARAGRAPH;
#else
diff --git a/winaccessibility/inc/AccParagraphEventListener.hxx b/winaccessibility/inc/AccParagraphEventListener.hxx
index daa07603bc19..d2f5457e1b0c 100644
--- a/winaccessibility/inc/AccParagraphEventListener.hxx
+++ b/winaccessibility/inc/AccParagraphEventListener.hxx
@@ -26,8 +26,8 @@
/**
* AccParagraphEventListener is inherited from AccContainerEventListener. It handles the events
- * generated by container controls. The accessible roles are: PARAGRAPH and HEADING.
- * It defines the procedure of specific event handling related with text containsers and provides
+ * generated by container controls. The accessible roles are: PARAGRAPH, HEADING and BLOCK_QUOTE.
+ * It defines the procedure of specific event handling related with text containers and provides
* the detailed support for some related methods.
*/
class AccParagraphEventListener : public AccContainerEventListener
diff --git a/winaccessibility/source/service/AccObject.cxx b/winaccessibility/source/service/AccObject.cxx
index ad0f65d8cc09..96e8cfa37b5e 100644
--- a/winaccessibility/source/service/AccObject.cxx
+++ b/winaccessibility/source/service/AccObject.cxx
@@ -67,6 +67,8 @@ short lcl_mapToIAccessible2Role(sal_Int16 nUnoRole)
return IA2_ROLE_UNKNOWN;
case css::accessibility::AccessibleRole::ALERT:
return ROLE_SYSTEM_DIALOG;
+ case css::accessibility::AccessibleRole::BLOCK_QUOTE:
+ return IA2_ROLE_BLOCK_QUOTE;
case css::accessibility::AccessibleRole::COLUMN_HEADER:
return ROLE_SYSTEM_COLUMNHEADER;
case css::accessibility::AccessibleRole::CANVAS:
@@ -369,7 +371,7 @@ void AccObject::UpdateName( )
if( ( TEXT_FRAME == m_accRole ) && ( m_pParentObj !=nullptr )&& ( SCROLL_PANE == m_pParentObj -> m_accRole ) )
m_pIMAcc->Put_XAccName( o3tl::toW(m_pParentObj->m_xAccContextRef->getAccessibleName().getStr()) );
//IAccessibility2 Implementation 2009-----
- if ( PARAGRAPH == m_accRole)
+ if (m_accRole == AccessibleRole::PARAGRAPH || m_accRole == AccessibleRole::BLOCK_QUOTE)
{
m_pIMAcc->Put_XAccName(L"");
}
@@ -470,6 +472,7 @@ void AccObject::SetValue( Any pAny )
// 3. date editor's msaa value should be the same as spinbox
case DATE_EDITOR:
case TEXT:
+ case BLOCK_QUOTE:
case PARAGRAPH:
case HEADING:
case TABLE_CELL:
@@ -924,6 +927,7 @@ void AccObject::UpdateState()
case HEADING:
//Image Map
+ case BLOCK_QUOTE:
case PARAGRAPH:
case PASSWORD_TEXT:
case SHAPE:
diff --git a/winaccessibility/source/service/AccObjectWinManager.cxx b/winaccessibility/source/service/AccObjectWinManager.cxx
index 04f81875cd88..24deb8150c51 100644
--- a/winaccessibility/source/service/AccObjectWinManager.cxx
+++ b/winaccessibility/source/service/AccObjectWinManager.cxx
@@ -749,6 +749,7 @@ AccObjectWinManager::CreateAccEventListener(XAccessible* pXAcc)
case AccessibleRole::VIEW_PORT:
pRet = new AccContainerEventListener(pXAcc, this);
break;
+ case AccessibleRole::BLOCK_QUOTE:
case AccessibleRole::PARAGRAPH:
case AccessibleRole::HEADING:
pRet = new AccParagraphEventListener(pXAcc, this);