[wp-trac] [WordPress Trac] #54475: CSS Selector in block-library css will broke SVG scaled text rendering in Chrome 96 (Win 10, Win 11, Mac OS)

WordPress Trac noreply at wordpress.org
Fri Nov 19 18:12:56 UTC 2021


#54475: CSS Selector in block-library css will broke SVG scaled text rendering  in
Chrome 96 (Win 10, Win 11, Mac OS)
--------------------------+------------------------------
 Reporter:  dashart       |       Owner:  (none)
     Type:  defect (bug)  |      Status:  new
 Priority:  normal        |   Milestone:  Awaiting Review
Component:  Editor        |     Version:  5.8.2
 Severity:  major         |  Resolution:
 Keywords:                |     Focuses:  css
--------------------------+------------------------------
Changes (by SergeyBiryukov):

 * component:  General => Editor


Old description:

> **Issue:**
> We detected wrong rendered SVG Text elements in Google Chrome 96. Our svg
> map solution is embedded in a wordpress based website of our client.
> We detected moving "shop numbers" in our map solution, if the map is
> embedded in the wordpress website.
> As soon as the user changes the zoom of the map the shop numbers will be
> rendered out of sync with the other svg parts.
>
> We tracked the issue down to the following css file:
> wp-includes/css/dist/block-library/style.min.css
>
> The selectors used in the blocks
> {{{
> .wp-block-table table[style*=border-style]>*,
> .wp-block-table table[style*=border-style] td,
> .wp-block-table table[style*=border-style] th,
> .wp-block-table table[style*=border-style] tr {
>   border-style: auto
> }
>
> .wp-block-table table[style*=border-width]>*,
> .wp-block-table table[style*=border-width] td,
> .wp-block-table table[style*=border-width] th,
> .wp-block-table table[style*=border-width] tr {
>   border-width: auto
> }
> }}}
> will cause the issue.
>
> Reduced to the exact selectors:
> {{{
> .wp-block-table table[style*=border-style]>*,
> }}}
> and
> {{{
> .wp-block-table table[style*=border-width]>*,
> }}}
>
> or simplified:
> {{{
> *[style*=x]>* {}
> }}}
>

> We were also able to reproduce the issue in our test system:
>
> Map without the critical selector:
> https://db-ek-preview.d-ssl.de/preview/station_bonn.html
>
> Map with the critical selector (style selector used in header):
> https://db-ek-preview.d-ssl.de/preview/station_bonn_broken_chrome.html
>

> **Steps to reproduce:**
> 1. Open website:
> https://www.einkaufsbahnhof.de/dresden-neustadt/lageplan
> or
> https://db-ek-preview.d-ssl.de/preview/station_bonn_broken_chrome.html
> 2. Scroll to map view
> 3. Zoom in or out by mouse wheel / drag gesture / controls
>
> **Current behavior:**
> numbers within the circles in to of the shopping areas will be drawn
> outside of the circle
>
> **Expected behavior:**
> shop numbers drawn in sync with white circles
>
> **Note**
> Window resize by 1px or more will trigger svg area render updates, which
> will fix the issue until next zoom action.
>

> **Test result:**
> Affected systems
>
> * Win 11 - Google Chrome 96
> * Win 10 - Google Chrome 96
> * Mac OS 12 - Google Chrome 96
>

> Not affected systems
>
> * Mac OS 12 - Safari 15.1
> * Mac OS 12 - Mozilla Firefox
> * Win 10 - Google Chrome 95
> * Mac OS 11 - Google Chrome 95
> * Win 10 - Edge 95 Beta
> * Win 10 - Edge 94
> * Android 11 (Pixel 5) - Google Chrome
> * Android 11 (Huawei P30 Pro) - Google Chrome
> * iOS 15.1 (iPad Pro 10,5) - Safari
>

> I know the bug is a Google Chrome Browser issue in v96 and I will report
> the issue to Google Chrome team too.
> But I report this issue to WordPress core team too, to trigger a
> workaround for Wordpress, because I think the Google Chrome team will not
> prioritize this issue.

New description:

 **Issue:**
 We detected wrong rendered SVG Text elements in Google Chrome 96. Our svg
 map solution is embedded in a wordpress based website of our client.
 We detected moving "shop numbers" in our map solution, if the map is
 embedded in the wordpress website.
 As soon as the user changes the zoom of the map the shop numbers will be
 rendered out of sync with the other svg parts.

 We tracked the issue down to the following css file:
 wp-includes/css/dist/block-library/style.min.css

 The selectors used in the blocks
 {{{
 .wp-block-table table[style*=border-style]>*,
 .wp-block-table table[style*=border-style] td,
 .wp-block-table table[style*=border-style] th,
 .wp-block-table table[style*=border-style] tr {
   border-style: auto
 }

 .wp-block-table table[style*=border-width]>*,
 .wp-block-table table[style*=border-width] td,
 .wp-block-table table[style*=border-width] th,
 .wp-block-table table[style*=border-width] tr {
   border-width: auto
 }
 }}}
 will cause the issue.

 Reduced to the exact selectors:
 {{{
 .wp-block-table table[style*=border-style]>*,
 }}}
 and
 {{{
 .wp-block-table table[style*=border-width]>*,
 }}}

 or simplified:
 {{{
 *[style*=x]>* {}
 }}}


 We were also able to reproduce the issue in our test system:

 Map without the critical selector:
 https://db-ek-preview.d-ssl.de/preview/station_bonn.html

 Map with the critical selector (style selector used in header):
 https://db-ek-preview.d-ssl.de/preview/station_bonn_broken_chrome.html


 **Steps to reproduce:**
 1. Open website:
 https://www.einkaufsbahnhof.de/dresden-neustadt/lageplan
 or
 https://db-ek-preview.d-ssl.de/preview/station_bonn_broken_chrome.html
 2. Scroll to map view
 3. Zoom in or out by mouse wheel / drag gesture / controls

 **Current behavior:**
 numbers within the circles in to of the shopping areas will be drawn
 outside of the circle

 **Expected behavior:**
 shop numbers drawn in sync with white circles

 **Note**
 Window resize by 1px or more will trigger svg area render updates, which
 will fix the issue until next zoom action.


 **Test result:**
 Affected systems

 * Win 11 - Google Chrome 96
 * Win 10 - Google Chrome 96
 * Mac OS 12 - Google Chrome 96


 Not affected systems

 * Mac OS 12 - Safari 15.1
 * Mac OS 12 - Mozilla Firefox
 * Win 10 - Google Chrome 95
 * Mac OS 11 - Google Chrome 95
 * Win 10 - Edge 95 Beta
 * Win 10 - Edge 94
 * Android 11 (Pixel 5) - Google Chrome
 * Android 11 (Huawei P30 Pro) - Google Chrome
 * iOS 15.1 (iPad Pro 10,5) - Safari


 I know the bug is a Google Chrome Browser issue in v96 and I will report
 the issue to Google Chrome team too.
 But I report this issue to WordPress core team too, to trigger a
 workaround for WordPress, because I think the Google Chrome team will not
 prioritize this issue.

--

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/54475#comment:1>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list