Image block: Add missing space between sentences#75142
Conversation
This has only gone unnoticed because the second sentence starts with opening parenthesis, which is enough to let the browser break the line at that point. However, I'd argue this still needs fixing: - It could break in locales in which the string is rendered with a different glyph that doesn't allow the line to break. - It can (and has) set the wrong precedent.
|
Size Change: -7 B (0%) Total Size: 3 MB
ℹ️ View Unchanged
|
andrewserong
left a comment
There was a problem hiding this comment.
LGTM, and if I manually hack in the removal of the ( character, then the space is working as expected too:
I notice that elsewhere when using <ExternalLink> we've used createInterpolateElement to ensure spacing when injecting that component into a string of text. I don't think it's necessary here as the { ' ' } seems to work just fine, but thought I'd mention it just in case.
![]()
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
t-hamano
left a comment
There was a problem hiding this comment.
This is something that is hard to notice, but I think hardcoding spaces is not recommended from a localization perspective. Because depending on the locale, half-width spaces may not be inserted between sentences. I think it's better to use createInterpolateElement.
createInterpolateElement(
__(
'Describe the role of this image on the page. <a>(Note: many devices and browsers do not display this text.)</a>'
),
{
a: (
<ExternalLink href="https://www.w3.org/TR/html52/dom.html#the-title-attribute" />
),
}
)|
I was fooled by GitHub: it only loaded Andrew's feedback, and so I commented prematurely based on that, and only later did I spot Aki's review. So I'll address your concern. :) My initial reasoning was that the two sentences were semantically pretty disjointed, so the harm of not doing proper interpolation was minor... but I didn't consider full- vs. half-width spacing, so thanks for teaching me something. :) |
t-hamano
left a comment
There was a problem hiding this comment.
LGTM! Thanks for the update.
+1 thanks Aki, I learned something, too! 🙇 |
* Image block: Add missing space between sentences This has only gone unnoticed because the second sentence starts with opening parenthesis, which is enough to let the browser break the line at that point. However, I'd argue this still needs fixing: - It could break in locales in which the string is rendered with a different glyph that doesn't allow the line to break. - It can (and has) set the wrong precedent.
* Image block: Add missing space between sentences This has only gone unnoticed because the second sentence starts with opening parenthesis, which is enough to let the browser break the line at that point. However, I'd argue this still needs fixing: - It could break in locales in which the string is rendered with a different glyph that doesn't allow the line to break. - It can (and has) set the wrong precedent.
* Add block.json and index.js. * Update navigation block to allow the core/icon button. * Update registration and remove filters from the index file. * Initial js files commit with linting fixes. * Add CSS files * Add icon block css to package. * Fix some issues with refactoring away the use of isEmpty. * Start with the icon set defined in #16484 * Disable custom svg icons via the filter default. * Change index.scss to style.scss to match pattern of other blocks. * Remove social icons directory as they are not being added for initial block implementation. * Remove sparkles icon. * Fix html-reacti-parser versioning. * Update dependencies to include html-react-parser * Add schema to block.json * Add basic fixture for icon block. * Remove withIllustration prop and related className from Placeholder. * Decouple the saved icon from the @wordpress/icons library and display it in the edit state as well. * Fix displaying custom SVG in the editor. * Remove some empty categories from the list. * Adjust the spacing between the custom SVG buttons based on A11y audit. * Removing rotate, flipHor, flipVert, and percentWidth attributes and related controls. * Remove itemsJustification attribute and related controls. * Remove iconColor and iconColorValue attributes and related controls. * Remove remaining color based attributes and related controls. * Don't show the link rel if there is not a link defined. * Remove the link control. * Remove width and height attributes. * Update packages/block-library/src/icon/icons/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/block.json Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/icon-dropzone/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Add cautionFilled to the imports. * Remove the need for an inner wrapper. Move all styles and classes to main div. * Clean up css to remove outer div and rotation/flip rules. * Remove the icon-container class from edit. Remove more unused styles. * Change selector to root class icon attribute. Remove edit icon that was causing inserter to crash. * Remove ariaLabel true until I know how it works. * Opt into width and heigh dimension controls. * Removing references to custom SVG upload as any custom icons should be registered via the new Icons API. * Remove components and logic associated with SVG uploading or direct insertion of SVGs into the block. * Revert package-lock.json to trunk. * Remove some more items related to upload/insert SVG functionality. * Remove some unused imports, functions, and hooks. * Initial work to replace the custom inserter modal with one using DataViewPicker. * * Add fake API request for the icons and related logic to load icons as needed. * Add loading state * Set up proper pagination. * Remove the custom inserter in favor of one that uses the DataViewsPicker * Make the icon block experimental as it's reliant on the SVG endpoint which is also experimental. Remove the height control as the icons need to preserve the aspect ratio. * Fix conditional registration of Icon block * Fix full-content integration test for Icon block Also rearrange dependencies to appease import/order linting rule * Fix missing spacing in Title attribute panel * Fix icon picker modal not showing which icon is in use * Remove hardcoded list of icons used before the API was available. * Make the icon block dynamic. * Remove some files that are not needed. * Updates to move the block to use dynamic rendering. * Fix the imports for the bolt icon. Change the example in the block registration to use the new attributes. * Set the default size of the icon to 48px. * Clean up to the edit. * Use two useEffects. One for the loading the list of icons and another to update when the icon is changed. * Remove references to the old iconName attribute. * Fix the placeholder resizing when changing the icon size before selecting an icon. * Remove additions to useBlockProps no londer being used. * Join UI sentences with createInterpolateElement See #75142 * Fix block's textdomain * Enforce the default width value if the width is set to 0 manualy or via the Rest button in the control. * There is no linking functionality provided by this block so all Icons are going to be decorative and should be hidden from screen readers. * Drop explicit `style` attribute and default width - Providing a default style with a set width will cause the block to start at that width, even when in placeholder state, which is probably not desirable. - The `style` attribute will be implicitly defined via block-supports anyway. * Apply useBlockProps consistently … instead of only when an icon is ready to be displayed. * index.php: Cosmetic changes & remove outdated comment * Condense title and label attributes: * Use the label attribute to determine if the icon is decorative or informative. * Remove the title attribute and use the contents of label to populate it. * Some linting fixes. * Changes to output structure to accomodate CSS changes. * Wrap the svg in a div to allow adding styles via block supports. * Add icon/styles.scss to the block-library * Remove the editor style sheet that was for the original implementation and was not being loaded. * All support for text and background colors * Fix border control support * Fix issue where styles were being overridden when setting the default width * Small linting fixes. * Remove commented out code. * Regenerate block test fixtures. * Whitespace man... * Fix incorrect spread assignment. * Modify the inserter modal * Pass the icons from edit.js to the inserter to avoid a needless secondary API call * Move the render logic to edit.js instead of inside the modal. * Migrate label attributes to ariaLabel block support * Update packages/block-library/src/icon/index.php Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/block.json Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/block.json Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Removing the title attribute from being added. * Remove unused section. * Add some editor only CSS to address the label popover in contentOnly mode being too narrow. * Remove some unneeded CSS for the toobar. * Use useToolsPanelDropdownMenuProps from the block-library package. * Fix ariaLabel not being reset. * Remove parseIcon and related utilites in favor of HtmlRenderer * Whitespace linting issue. * Add dataviews to the block-library tsconfig * Re-instate a simplified version of the custom inserter from the original code base. * Remove the DataViewsPicker UI implementation. * Update packages/block-library/src/icon/components/custom-inserter/content-header.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/content-header.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Simplify the placeholder and update CSS selectors. * Update the block icon. * Make the icons smaller in the modal. * Make modal title sentence case. * Remove search results text from modal. * Clean up the modal icon grid view. * Remove some unused selectors. * Remove unused class in the popover. * Remove the dataviews dependency. * rebuild package-lock.json after removing the dataviews dependency. * Add incorrectly removed whitespace line. * Use sprintf to output the final markup. * Simplify CSS * Update packages/block-library/src/icon/icons/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update placeholder to use suggested approach. * Remove useEffect and directly derive the active icon. Remove the resetAll function and set the callback directly. * Set the default size to 24px and the minmum to 12px. * Add private selector to core-data store to retrieve the icons. * Update return type for the getIcons selector. * Clean up block.json * Remove interactive property. * Update description. * Re-add the interactivity property to allow Query Loop blocks to load new content via IAPI * Inline the content header component. * Update docs/reference-guides/core-blocks.md Co-authored-by: Marin Atanasov <8436925+tyxla@users.noreply.github.com> * Add 300ms debouce to the icon search. * Set the placeholder size based on the conrol value. * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/edit.js Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/edit.js Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Rebuild docs after 75391 was merged. * FIx linting error * Fix application of debounce pattern * Memoize search-term-matching icons with useMemo * Allow searching by icon label * Search normalization: strip accents, trim I thought of using `String.localeCompare` too, but we have a few good precedents using NPM's `remove-accents`. For future reference: 'réservé'.localeCompare( "RESERVE", undefined, # locale: default to host locale { usage: "search", sensitivity: "base" # ignore accents and case } ) === 0 # is match * Memoise IconGrid's state setter Plus some naming, convention and cosmetic changes. * Use utility function --------- Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> Co-authored-by: Aki Hamano <tetsuaki.hamano@gmail.com> Co-authored-by: Marin Atanasov <8436925+tyxla@users.noreply.github.com> Unlinked contributors: enriquesanchez, mapk, onuro, CalumChilds, timhibberd, munirkamal, RafaelKr, thatmikebal, Sirjazzfeetz, zcraber. Co-authored-by: ryanwelcher <welcher@git.wordpress.org> Co-authored-by: mcsf <mcsf@git.wordpress.org> Co-authored-by: t-hamano <wildworks@git.wordpress.org> Co-authored-by: getdave <get_dave@git.wordpress.org> Co-authored-by: youknowriad <youknowriad@git.wordpress.org> Co-authored-by: silaskoehler <silaskoehler@git.wordpress.org> Co-authored-by: hanneslsm <hanneslsm@git.wordpress.org> Co-authored-by: tyxla <tyxla@git.wordpress.org> Co-authored-by: Mamaduka <mamaduka@git.wordpress.org> Co-authored-by: ndiego <ndiego@git.wordpress.org> Co-authored-by: mikemcalister <mmcalister@git.wordpress.org> Co-authored-by: joedolson <joedolson@git.wordpress.org> Co-authored-by: scruffian <scruffian@git.wordpress.org> Co-authored-by: benoitchantre <benoitchantre@git.wordpress.org> Co-authored-by: cr0ybot <cr0ybot@git.wordpress.org> Co-authored-by: jasmussen <joen@git.wordpress.org> Co-authored-by: kjnanda <krupajnanda@git.wordpress.org> Co-authored-by: fabiankaegy <fabiankaegy@git.wordpress.org> Co-authored-by: SirLouen <sirlouen@git.wordpress.org> Co-authored-by: ciampo <mciampini@git.wordpress.org> Co-authored-by: aaronrobertshaw <aaronrobertshaw@git.wordpress.org> Co-authored-by: richtabor <richtabor@git.wordpress.org> Co-authored-by: senadir <senadir@git.wordpress.org> Co-authored-by: mrwweb <mrwweb@git.wordpress.org> Co-authored-by: karmatosed <karmatosed@git.wordpress.org> Co-authored-by: melchoyce <melchoyce@git.wordpress.org> Co-authored-by: hacknug <hack_nug@git.wordpress.org> Co-authored-by: strarsis <strarsis@git.wordpress.org> Co-authored-by: aristath <aristath@git.wordpress.org> Co-authored-by: coreyworrell <coreyw@git.wordpress.org> Co-authored-by: paaljoachim <paaljoachim@git.wordpress.org> Co-authored-by: colorful-tones <colorful-tones@git.wordpress.org> Co-authored-by: iandunn <iandunn@git.wordpress.org> Co-authored-by: AlecRust <alecrust@git.wordpress.org> Co-authored-by: kraftner <kraftner@git.wordpress.org> Co-authored-by: Jabe64 <jabe@git.wordpress.org> Co-authored-by: dugyen <ugyensupport@git.wordpress.org> Co-authored-by: Julianoe <julianoe@git.wordpress.org> Co-authored-by: draganescu <andraganescu@git.wordpress.org> Co-authored-by: audunmb <audunmb@git.wordpress.org> Co-authored-by: ajitbohra <ajitbohra@git.wordpress.org> Co-authored-by: MadtownLems <madtownlems@git.wordpress.org> Co-authored-by: cbirdsong <cbirdsong@git.wordpress.org> Co-authored-by: eric-michel <ytfeldrawkcab@git.wordpress.org> Co-authored-by: bhubbard <bhubbard@git.wordpress.org> Co-authored-by: luminuu <luminuu@git.wordpress.org> Co-authored-by: talldan <talldanwp@git.wordpress.org> Co-authored-by: mtias <matveb@git.wordpress.org>
* Add block.json and index.js. * Update navigation block to allow the core/icon button. * Update registration and remove filters from the index file. * Initial js files commit with linting fixes. * Add CSS files * Add icon block css to package. * Fix some issues with refactoring away the use of isEmpty. * Start with the icon set defined in #16484 * Disable custom svg icons via the filter default. * Change index.scss to style.scss to match pattern of other blocks. * Remove social icons directory as they are not being added for initial block implementation. * Remove sparkles icon. * Fix html-reacti-parser versioning. * Update dependencies to include html-react-parser * Add schema to block.json * Add basic fixture for icon block. * Remove withIllustration prop and related className from Placeholder. * Decouple the saved icon from the @wordpress/icons library and display it in the edit state as well. * Fix displaying custom SVG in the editor. * Remove some empty categories from the list. * Adjust the spacing between the custom SVG buttons based on A11y audit. * Removing rotate, flipHor, flipVert, and percentWidth attributes and related controls. * Remove itemsJustification attribute and related controls. * Remove iconColor and iconColorValue attributes and related controls. * Remove remaining color based attributes and related controls. * Don't show the link rel if there is not a link defined. * Remove the link control. * Remove width and height attributes. * Update packages/block-library/src/icon/icons/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/block.json Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/icon-dropzone/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Add cautionFilled to the imports. * Remove the need for an inner wrapper. Move all styles and classes to main div. * Clean up css to remove outer div and rotation/flip rules. * Remove the icon-container class from edit. Remove more unused styles. * Change selector to root class icon attribute. Remove edit icon that was causing inserter to crash. * Remove ariaLabel true until I know how it works. * Opt into width and heigh dimension controls. * Removing references to custom SVG upload as any custom icons should be registered via the new Icons API. * Remove components and logic associated with SVG uploading or direct insertion of SVGs into the block. * Revert package-lock.json to trunk. * Remove some more items related to upload/insert SVG functionality. * Remove some unused imports, functions, and hooks. * Initial work to replace the custom inserter modal with one using DataViewPicker. * * Add fake API request for the icons and related logic to load icons as needed. * Add loading state * Set up proper pagination. * Remove the custom inserter in favor of one that uses the DataViewsPicker * Make the icon block experimental as it's reliant on the SVG endpoint which is also experimental. Remove the height control as the icons need to preserve the aspect ratio. * Fix conditional registration of Icon block * Fix full-content integration test for Icon block Also rearrange dependencies to appease import/order linting rule * Fix missing spacing in Title attribute panel * Fix icon picker modal not showing which icon is in use * Remove hardcoded list of icons used before the API was available. * Make the icon block dynamic. * Remove some files that are not needed. * Updates to move the block to use dynamic rendering. * Fix the imports for the bolt icon. Change the example in the block registration to use the new attributes. * Set the default size of the icon to 48px. * Clean up to the edit. * Use two useEffects. One for the loading the list of icons and another to update when the icon is changed. * Remove references to the old iconName attribute. * Fix the placeholder resizing when changing the icon size before selecting an icon. * Remove additions to useBlockProps no londer being used. * Join UI sentences with createInterpolateElement See WordPress/gutenberg#75142 * Fix block's textdomain * Enforce the default width value if the width is set to 0 manualy or via the Rest button in the control. * There is no linking functionality provided by this block so all Icons are going to be decorative and should be hidden from screen readers. * Drop explicit `style` attribute and default width - Providing a default style with a set width will cause the block to start at that width, even when in placeholder state, which is probably not desirable. - The `style` attribute will be implicitly defined via block-supports anyway. * Apply useBlockProps consistently … instead of only when an icon is ready to be displayed. * index.php: Cosmetic changes & remove outdated comment * Condense title and label attributes: * Use the label attribute to determine if the icon is decorative or informative. * Remove the title attribute and use the contents of label to populate it. * Some linting fixes. * Changes to output structure to accomodate CSS changes. * Wrap the svg in a div to allow adding styles via block supports. * Add icon/styles.scss to the block-library * Remove the editor style sheet that was for the original implementation and was not being loaded. * All support for text and background colors * Fix border control support * Fix issue where styles were being overridden when setting the default width * Small linting fixes. * Remove commented out code. * Regenerate block test fixtures. * Whitespace man... * Fix incorrect spread assignment. * Modify the inserter modal * Pass the icons from edit.js to the inserter to avoid a needless secondary API call * Move the render logic to edit.js instead of inside the modal. * Migrate label attributes to ariaLabel block support * Update packages/block-library/src/icon/index.php Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/block.json Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/block.json Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Removing the title attribute from being added. * Remove unused section. * Add some editor only CSS to address the label popover in contentOnly mode being too narrow. * Remove some unneeded CSS for the toobar. * Use useToolsPanelDropdownMenuProps from the block-library package. * Fix ariaLabel not being reset. * Remove parseIcon and related utilites in favor of HtmlRenderer * Whitespace linting issue. * Add dataviews to the block-library tsconfig * Re-instate a simplified version of the custom inserter from the original code base. * Remove the DataViewsPicker UI implementation. * Update packages/block-library/src/icon/components/custom-inserter/content-header.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/content-header.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Simplify the placeholder and update CSS selectors. * Update the block icon. * Make the icons smaller in the modal. * Make modal title sentence case. * Remove search results text from modal. * Clean up the modal icon grid view. * Remove some unused selectors. * Remove unused class in the popover. * Remove the dataviews dependency. * rebuild package-lock.json after removing the dataviews dependency. * Add incorrectly removed whitespace line. * Use sprintf to output the final markup. * Simplify CSS * Update packages/block-library/src/icon/icons/index.js Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> * Update placeholder to use suggested approach. * Remove useEffect and directly derive the active icon. Remove the resetAll function and set the callback directly. * Set the default size to 24px and the minmum to 12px. * Add private selector to core-data store to retrieve the icons. * Update return type for the getIcons selector. * Clean up block.json * Remove interactive property. * Update description. * Re-add the interactivity property to allow Query Loop blocks to load new content via IAPI * Inline the content header component. * Update docs/reference-guides/core-blocks.md Co-authored-by: Marin Atanasov <8436925+tyxla@users.noreply.github.com> * Add 300ms debouce to the icon search. * Set the placeholder size based on the conrol value. * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/index.php Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/edit.js Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/edit.js Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Update packages/block-library/src/icon/components/custom-inserter/index.js Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> * Rebuild docs after 75391 was merged. * FIx linting error * Fix application of debounce pattern * Memoize search-term-matching icons with useMemo * Allow searching by icon label * Search normalization: strip accents, trim I thought of using `String.localeCompare` too, but we have a few good precedents using NPM's `remove-accents`. For future reference: 'réservé'.localeCompare( "RESERVE", undefined, # locale: default to host locale { usage: "search", sensitivity: "base" # ignore accents and case } ) === 0 # is match * Memoise IconGrid's state setter Plus some naming, convention and cosmetic changes. * Use utility function --------- Co-authored-by: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Co-authored-by: Miguel Fonseca <150562+mcsf@users.noreply.github.com> Co-authored-by: Aki Hamano <tetsuaki.hamano@gmail.com> Co-authored-by: Marin Atanasov <8436925+tyxla@users.noreply.github.com> Unlinked contributors: enriquesanchez, mapk, onuro, CalumChilds, timhibberd, munirkamal, RafaelKr, thatmikebal, Sirjazzfeetz, zcraber. Co-authored-by: ryanwelcher <welcher@git.wordpress.org> Co-authored-by: mcsf <mcsf@git.wordpress.org> Co-authored-by: t-hamano <wildworks@git.wordpress.org> Co-authored-by: getdave <get_dave@git.wordpress.org> Co-authored-by: youknowriad <youknowriad@git.wordpress.org> Co-authored-by: silaskoehler <silaskoehler@git.wordpress.org> Co-authored-by: hanneslsm <hanneslsm@git.wordpress.org> Co-authored-by: tyxla <tyxla@git.wordpress.org> Co-authored-by: Mamaduka <mamaduka@git.wordpress.org> Co-authored-by: ndiego <ndiego@git.wordpress.org> Co-authored-by: mikemcalister <mmcalister@git.wordpress.org> Co-authored-by: joedolson <joedolson@git.wordpress.org> Co-authored-by: scruffian <scruffian@git.wordpress.org> Co-authored-by: benoitchantre <benoitchantre@git.wordpress.org> Co-authored-by: cr0ybot <cr0ybot@git.wordpress.org> Co-authored-by: jasmussen <joen@git.wordpress.org> Co-authored-by: kjnanda <krupajnanda@git.wordpress.org> Co-authored-by: fabiankaegy <fabiankaegy@git.wordpress.org> Co-authored-by: SirLouen <sirlouen@git.wordpress.org> Co-authored-by: ciampo <mciampini@git.wordpress.org> Co-authored-by: aaronrobertshaw <aaronrobertshaw@git.wordpress.org> Co-authored-by: richtabor <richtabor@git.wordpress.org> Co-authored-by: senadir <senadir@git.wordpress.org> Co-authored-by: mrwweb <mrwweb@git.wordpress.org> Co-authored-by: karmatosed <karmatosed@git.wordpress.org> Co-authored-by: melchoyce <melchoyce@git.wordpress.org> Co-authored-by: hacknug <hack_nug@git.wordpress.org> Co-authored-by: strarsis <strarsis@git.wordpress.org> Co-authored-by: aristath <aristath@git.wordpress.org> Co-authored-by: coreyworrell <coreyw@git.wordpress.org> Co-authored-by: paaljoachim <paaljoachim@git.wordpress.org> Co-authored-by: colorful-tones <colorful-tones@git.wordpress.org> Co-authored-by: iandunn <iandunn@git.wordpress.org> Co-authored-by: AlecRust <alecrust@git.wordpress.org> Co-authored-by: kraftner <kraftner@git.wordpress.org> Co-authored-by: Jabe64 <jabe@git.wordpress.org> Co-authored-by: dugyen <ugyensupport@git.wordpress.org> Co-authored-by: Julianoe <julianoe@git.wordpress.org> Co-authored-by: draganescu <andraganescu@git.wordpress.org> Co-authored-by: audunmb <audunmb@git.wordpress.org> Co-authored-by: ajitbohra <ajitbohra@git.wordpress.org> Co-authored-by: MadtownLems <madtownlems@git.wordpress.org> Co-authored-by: cbirdsong <cbirdsong@git.wordpress.org> Co-authored-by: eric-michel <ytfeldrawkcab@git.wordpress.org> Co-authored-by: bhubbard <bhubbard@git.wordpress.org> Co-authored-by: luminuu <luminuu@git.wordpress.org> Co-authored-by: talldan <talldanwp@git.wordpress.org> Co-authored-by: mtias <matveb@git.wordpress.org> Source: WordPress/gutenberg@cf97f39
What?
In the Image block's advanced controls, under Title Attribute, add a space separating the sentence "Describe the role of this image on the page." and "(Note: many devices and browsers do not display this text.)".
This has only gone unnoticed because the second sentence starts with opening parenthesis, which is enough to let the browser break the line at that point. However, I'd argue this still needs fixing:
With no parentheses, we would see: