From 28cebc76589b7091c282abbbb4c2c18d68482060 Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 15:16:00 +0530 Subject: [PATCH 01/16] 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 17092f65e01ce90295287f667d42d7da7ff97f7e Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 15:16:53 +0530 Subject: [PATCH 02/16] 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 26340aa9179d82..e2a934c5afba7e 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 @@ -43,6 +43,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 ); @@ -53,7 +58,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 1012f8e56788fdcf08a2f4cf5acc31158e7258a0 Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 15:18:15 +0530 Subject: [PATCH 03/16] 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 c208200b084db0..edaa0b5e9459a0 100644 --- a/packages/block-library/src/media-text/edit.js +++ b/packages/block-library/src/media-text/edit.js @@ -478,6 +478,9 @@ function MediaTextEdit( { From ce55573545c9643fa5332772e79246022922bd30 Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 17:47:26 +0530 Subject: [PATCH 04/16] 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 e2a934c5afba7e..45f75ad83afbb2 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 @@ -60,28 +60,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 f6ad46c2a7a2ed3f2f07d8c732324da960f1637a Mon Sep 17 00:00:00 2001 From: dhananjaykuber Date: Thu, 18 Jul 2024 17:47:39 +0530 Subject: [PATCH 05/16] 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 9e7e59c0c31447..9365e185b68157 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`] = `