Skip to content

Commit

Permalink
Customizer: Allow custom accordion items with obsolete structure.
Browse files Browse the repository at this point in the history
In [59224], customizer accordion item HTML structure was changed to include a `button` element as the interactive control. However, some themes inject custom markup for panel headings. 

Fix `controls.js` to handle both the new markup and the old markup, which is relatively common in themes.   

Props paullb, desrosj, sabernhardt, joedolson, jorbin.
Fixes #62494.

git-svn-id: https://develop.svn.wordpress.org/trunk@59555 602fd350-edb4-49c9-b593-d223f7449a82
  • Loading branch information
joedolson committed Dec 22, 2024
1 parent de76b6e commit d030306
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/js/_enqueues/wp/customize/controls.js
Original file line number Diff line number Diff line change
Expand Up @@ -1530,7 +1530,7 @@
}

// Expand/Collapse accordion sections on click.
section.container.find( '.accordion-section-title button, .customize-section-back' ).on( 'click keydown', function( event ) {
section.container.find( '.accordion-section-title button, .customize-section-back, .accordion-section-title[tabindex]' ).on( 'click keydown', function( event ) {
if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
return;
}
Expand Down Expand Up @@ -1605,7 +1605,7 @@
content = section.contentContainer,
overlay = section.headContainer.closest( '.wp-full-overlay' ),
backBtn = content.find( '.customize-section-back' ),
sectionTitle = section.headContainer.find( '.accordion-section-title button' ).first(),
sectionTitle = section.headContainer.find( '.accordion-section-title button, .accordion-section-title[tabindex]' ).first(),
expand, panel;

if ( expanded && ! content.hasClass( 'open' ) ) {
Expand Down Expand Up @@ -2694,7 +2694,7 @@
container = section.headContainer.closest( '.wp-full-overlay-sidebar-content' ),
content = section.contentContainer,
backBtn = content.find( '.customize-section-back' ),
sectionTitle = section.headContainer.find( '.accordion-section-title button' ).first(),
sectionTitle = section.headContainer.find( '.accordion-section-title button, .accordion-section-title[tabindex]' ).first(),
body = $( document.body ),
expand, panel;

Expand Down Expand Up @@ -2833,7 +2833,7 @@
var meta, panel = this;

// Expand/Collapse accordion sections on click.
panel.headContainer.find( '.accordion-section-title button' ).on( 'click keydown', function( event ) {
panel.headContainer.find( '.accordion-section-title button, .accordion-section-title[tabindex]' ).on( 'click keydown', function( event ) {
if ( api.utils.isKeydownButNotEnterEvent( event ) ) {
return;
}
Expand Down Expand Up @@ -2937,7 +2937,7 @@
accordionSection = panel.contentContainer,
overlay = accordionSection.closest( '.wp-full-overlay' ),
container = accordionSection.closest( '.wp-full-overlay-sidebar-content' ),
topPanel = panel.headContainer.find( '.accordion-section-title button' ),
topPanel = panel.headContainer.find( '.accordion-section-title button, .accordion-section-title[tabindex]' ),
backBtn = accordionSection.find( '.customize-panel-back' ),
childSections = panel.sections(),
skipTransition;
Expand Down

0 comments on commit d030306

Please sign in to comment.