From df2379eefeb0e09f51792d5758222a4f06b7a02a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Wed, 18 Feb 2026 13:52:57 +0100 Subject: [PATCH 1/3] nicolium: add aria-labelledby for widgets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- packages/pl-fe/src/components/ui/widget.tsx | 44 +++++++++++---------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/packages/pl-fe/src/components/ui/widget.tsx b/packages/pl-fe/src/components/ui/widget.tsx index d2b18971c..44b2d7306 100644 --- a/packages/pl-fe/src/components/ui/widget.tsx +++ b/packages/pl-fe/src/components/ui/widget.tsx @@ -1,5 +1,5 @@ import clsx from 'clsx'; -import React from 'react'; +import React, { useMemo } from 'react'; import IconButton from '@/components/ui/icon-button'; @@ -26,24 +26,28 @@ const Widget: React.FC = ({ actionTitle, action, className, -}): JSX.Element => ( -
- {(title ?? action ?? onActionClick) && ( -
- {title &&

{title}

} - {action ?? - (onActionClick && ( - - ))} -
- )} -
{children}
-
-); +}): JSX.Element => { + const widgetId = useMemo(() => crypto.randomUUID(), []); + + return ( +
+ {(title ?? action ?? onActionClick) && ( +
+ {title &&

{title}

} + {action ?? + (onActionClick && ( + + ))} +
+ )} +
{children}
+
+ ); +}; export { Widget as default }; From 6525b398b0643214c884c4157f9ecd8480085dc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Wed, 18 Feb 2026 13:57:34 +0100 Subject: [PATCH 2/3] nicolium: put some aria-hidden MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- packages/pl-fe/src/components/status.tsx | 5 +++++ .../src/features/notifications/components/notification.tsx | 2 +- .../pl-fe/src/features/status/components/detailed-status.tsx | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/pl-fe/src/components/status.tsx b/packages/pl-fe/src/components/status.tsx index b55474668..f3a6996d5 100644 --- a/packages/pl-fe/src/components/status.tsx +++ b/packages/pl-fe/src/components/status.tsx @@ -118,6 +118,7 @@ const StatusFollowedTagInfo: React.FC = ({ status, avata } text={ @@ -342,6 +343,7 @@ const Status: React.FC = (props) => { } text={ @@ -425,6 +427,7 @@ const Status: React.FC = (props) => { } text={ @@ -453,6 +456,7 @@ const Status: React.FC = (props) => { } text={} @@ -467,6 +471,7 @@ const Status: React.FC = (props) => { } text={ diff --git a/packages/pl-fe/src/features/notifications/components/notification.tsx b/packages/pl-fe/src/features/notifications/components/notification.tsx index 4f7171189..79921f852 100644 --- a/packages/pl-fe/src/features/notifications/components/notification.tsx +++ b/packages/pl-fe/src/features/notifications/components/notification.tsx @@ -434,7 +434,7 @@ const Notification: React.FC = (props) => { /> ); } else if (icons[displayedType]) { - return ; + return ; } else { return null; } diff --git a/packages/pl-fe/src/features/status/components/detailed-status.tsx b/packages/pl-fe/src/features/status/components/detailed-status.tsx index b6f795c05..56e2f32d1 100644 --- a/packages/pl-fe/src/features/status/components/detailed-status.tsx +++ b/packages/pl-fe/src/features/status/components/detailed-status.tsx @@ -54,6 +54,7 @@ const DetailedStatus: React.FC = ({ } text={ From ca45ea8fe491d7b42f98e1c7b1c8a9b2512fa2db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?nicole=20miko=C5=82ajczyk?= Date: Wed, 18 Feb 2026 13:59:18 +0100 Subject: [PATCH 3/3] nicolium: add missing button title MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nicole mikołajczyk --- .../src/features/chats/components/chat-pane/chat-pane.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx b/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx index 89de90775..f1eb415b0 100644 --- a/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx +++ b/packages/pl-fe/src/features/chats/components/chat-pane/chat-pane.tsx @@ -1,5 +1,5 @@ import React, { useCallback } from 'react'; -import { FormattedMessage } from 'react-intl'; +import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import { ChatWidgetScreens, useChatContext } from '@/contexts/chat-context'; import { useStatContext } from '@/contexts/stat-context'; @@ -18,7 +18,12 @@ import Blankslate from './blankslate'; import type { Chat } from 'pl-api'; +const messages = defineMessages({ + newChat: { id: 'chat_pane.header.new_chat', defaultMessage: 'New chat' }, +}); + const ChatPane = () => { + const intl = useIntl(); const { unreadChatsCount } = useStatContext(); const showShoutbox = !useShoutboxIsLoading(); @@ -99,6 +104,7 @@ const ChatPane = () => { } }} secondaryActionIcon={require('@phosphor-icons/core/regular/note-pencil.svg')} + secondaryActionTitle={intl.formatMessage(messages.newChat)} /> {isOpen ? renderBody() : null}