From ec0c51ed8cc13ff96f5f77915630ecbc16030e60 Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 15:16:00 +0530 Subject: [PATCH 1/7] add label and description props and update default label of block alignment control --- .../src/components/block-alignment-control/ui.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/block-editor/src/components/block-alignment-control/ui.js b/packages/block-editor/src/components/block-alignment-control/ui.js index 87c5c7b0275a22..22587e5fde22c4 100644 --- a/packages/block-editor/src/components/block-alignment-control/ui.js +++ b/packages/block-editor/src/components/block-alignment-control/ui.js @@ -26,6 +26,8 @@ function BlockAlignmentUI( { controls, isToolbar, isCollapsed = true, + label = __( 'Align block' ), + description = __( 'Change block alignment' ), } ) { const enabledControls = useAvailableAlignments( controls ); const hasEnabledControls = !! enabledControls.length; @@ -47,7 +49,8 @@ function BlockAlignmentUI( { icon: activeAlignmentControl ? activeAlignmentControl.icon : defaultAlignmentControl.icon, - label: __( 'Align' ), + label, + describedBy: description, }; const extraProps = isToolbar ? { @@ -64,7 +67,7 @@ function BlockAlignmentUI( { } ), } : { - toggleProps: { description: __( 'Change alignment' ) }, + toggleProps: { describedBy: description }, children: ( { onClose } ) => { return ( <> From 9b9e8a0dfd820cb175c7af406af3df0cfe59ad56 Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 15:16:53 +0530 Subject: [PATCH 2/7] add label and description props to block vertical alignment control --- .../block-vertical-alignment-control/ui.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/packages/block-editor/src/components/block-vertical-alignment-control/ui.js b/packages/block-editor/src/components/block-vertical-alignment-control/ui.js index d1cacadf0cc49c..ddded6f118e11a 100644 --- a/packages/block-editor/src/components/block-vertical-alignment-control/ui.js +++ b/packages/block-editor/src/components/block-vertical-alignment-control/ui.js @@ -47,6 +47,11 @@ function BlockVerticalAlignmentUI( { controls = DEFAULT_CONTROLS, isCollapsed = true, isToolbar, + label = _x( 'Align vertically', 'Block vertical alignment setting label' ), + description = _x( + 'Change vertical alignment', + 'Block vertical alignment setting description' + ), } ) { function applyOrUnset( align ) { return () => onChange( value === align ? undefined : align ); @@ -57,7 +62,9 @@ function BlockVerticalAlignmentUI( { BLOCK_ALIGNMENTS_CONTROLS[ DEFAULT_CONTROL ]; const UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu; - const extraProps = isToolbar ? { isCollapsed } : {}; + const extraProps = isToolbar + ? { isCollapsed } + : { toggleProps: { describedBy: description } }; return ( { return { ...BLOCK_ALIGNMENTS_CONTROLS[ control ], From fdb177ccff93d109b042af94f6fd41131a3bb4ec Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 15:18:15 +0530 Subject: [PATCH 3/7] update aria-description of media, paragraph and table block --- packages/block-library/src/media-text/edit.js | 3 +++ packages/block-library/src/paragraph/edit.js | 3 +++ packages/block-library/src/table/edit.js | 3 +++ 3 files changed, 9 insertions(+) diff --git a/packages/block-library/src/media-text/edit.js b/packages/block-library/src/media-text/edit.js index 5a3b4fab04ab63..fb5e0dd219d36b 100644 --- a/packages/block-library/src/media-text/edit.js +++ b/packages/block-library/src/media-text/edit.js @@ -440,6 +440,9 @@ function MediaTextEdit( { From 7901244ebbde8f602edf7876a9f642e92ef104e2 Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 17:47:26 +0530 Subject: [PATCH 4/7] pass described by prop correctly --- .../components/block-alignment-control/ui.js | 3 +- .../block-vertical-alignment-control/ui.js | 43 ++++++++++--------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/block-editor/src/components/block-alignment-control/ui.js b/packages/block-editor/src/components/block-alignment-control/ui.js index 22587e5fde22c4..0e977c4e12c2fe 100644 --- a/packages/block-editor/src/components/block-alignment-control/ui.js +++ b/packages/block-editor/src/components/block-alignment-control/ui.js @@ -50,7 +50,6 @@ function BlockAlignmentUI( { ? activeAlignmentControl.icon : defaultAlignmentControl.icon, label, - describedBy: description, }; const extraProps = isToolbar ? { @@ -67,7 +66,7 @@ function BlockAlignmentUI( { } ), } : { - toggleProps: { describedBy: description }, + toggleProps: { 'aria-description': description }, children: ( { onClose } ) => { return ( <> diff --git a/packages/block-editor/src/components/block-vertical-alignment-control/ui.js b/packages/block-editor/src/components/block-vertical-alignment-control/ui.js index ddded6f118e11a..8efaa451647838 100644 --- a/packages/block-editor/src/components/block-vertical-alignment-control/ui.js +++ b/packages/block-editor/src/components/block-vertical-alignment-control/ui.js @@ -64,28 +64,29 @@ function BlockVerticalAlignmentUI( { const UIComponent = isToolbar ? ToolbarGroup : ToolbarDropdownMenu; const extraProps = isToolbar ? { isCollapsed } - : { toggleProps: { describedBy: description } }; + : { + popoverProps: { focusOnMount: 'firstElement' }, + toggleProps: { + describedBy: description, + }, + }; - return ( - { - return { - ...BLOCK_ALIGNMENTS_CONTROLS[ control ], - isActive: value === control, - role: isCollapsed ? 'menuitemradio' : undefined, - onClick: applyOrUnset( control ), - }; - } ) } - { ...extraProps } - /> - ); + const commonProps = { + icon: activeAlignment + ? activeAlignment.icon + : defaultAlignmentControl.icon, + label, + controls: controls.map( ( control ) => { + return { + ...BLOCK_ALIGNMENTS_CONTROLS[ control ], + isActive: value === control, + role: isCollapsed ? 'menuitemradio' : undefined, + onClick: applyOrUnset( control ), + }; + } ), + }; + + return ; } /** From d1775293201f8c2a115fc40187a0971ea7c95f3d Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 17:47:39 +0530 Subject: [PATCH 5/7] update test cases --- .../test/__snapshots__/index.js.snap | 4 ++-- .../block-alignment-control/test/index.js | 2 +- .../test/__snapshots__/index.js.snap | 4 ++-- .../test/index.js | 20 +++++++++++++++++-- 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/packages/block-editor/src/components/block-alignment-control/test/__snapshots__/index.js.snap b/packages/block-editor/src/components/block-alignment-control/test/__snapshots__/index.js.snap index 246e5dca2ae324..8f749fe35c3de9 100644 --- a/packages/block-editor/src/components/block-alignment-control/test/__snapshots__/index.js.snap +++ b/packages/block-editor/src/components/block-alignment-control/test/__snapshots__/index.js.snap @@ -9,7 +9,7 @@ exports[`BlockAlignmentUI should match snapshot when controls are hidden 1`] = `