Skip to content

Commit d072db4

Browse files
authored
Merge branch 'trunk' into trac-64442/theme-support-html5-script-cleanup
2 parents a851983 + 976ca47 commit d072db4

88 files changed

Lines changed: 2939 additions & 472 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"url": "https://develop.svn.wordpress.org/trunk"
88
},
99
"gutenberg": {
10-
"ref": "23b566c72e9c4a36219ef5d6e62890f05551f6cb"
10+
"ref": "022d8dd3d461f91b15c1f0410649d3ebb027207f"
1111
},
1212
"engines": {
1313
"node": ">=20.10.0",

src/js/_enqueues/admin/common.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1350,9 +1350,11 @@ $( function() {
13501350
event.stopPropagation();
13511351
$( 'html, body' ).animate( { scrollTop: 0 } );
13521352

1353-
var errorMessage = __( 'Please select at least one item to perform this action on.' );
1353+
var errorMessage = value !== '-1' ?
1354+
__( 'Please select at least one item to perform this action on.' ) :
1355+
__( 'Please select a bulk action to perform.' );
13541356
addAdminNotice( {
1355-
id: 'no-items-selected',
1357+
id: value !== '-1' ? 'no-items-selected' : 'no-bulk-action-selected',
13561358
type: 'error',
13571359
message: errorMessage,
13581360
dismissible: true,

src/js/_enqueues/admin/link.js

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,37 @@ jQuery( function($) {
1919
*
2020
* @return {boolean} Always returns false to prevent the default behavior.
2121
*/
22-
$('#category-tabs a').on( 'click', function(){
22+
$('#category-tabs a').on( 'click keyup keydown', function( event ){
2323
var t = $(this).attr('href');
24-
$(this).parent().addClass('tabs').siblings('li').removeClass('tabs');
25-
$('.tabs-panel').hide();
26-
$(t).show();
27-
if ( '#categories-all' == t )
28-
deleteUserSetting('cats');
29-
else
30-
setUserSetting('cats','pop');
31-
return false;
24+
if ( event.type === 'keydown' && event.key === ' ' ) {
25+
event.preventDefault();
26+
}
27+
if ( ( event.type === 'keyup' && event.key === ' ' ) || ( event.type === 'keydown' && event.key === 'Enter' ) || event.type === 'click' ) {
28+
event.preventDefault();
29+
$('#category-tabs a').removeAttr( 'aria-selected' ).attr( 'tabindex', '-1' );
30+
$(this).attr( 'aria-selected', 'true' ).removeAttr( 'tabindex' );
31+
$(this).parent().addClass('tabs').siblings('li').removeClass('tabs');
32+
$('.tabs-panel').hide();
33+
$(t).show();
34+
if ( '#categories-all' == t ) {
35+
deleteUserSetting('cats');
36+
} else {
37+
setUserSetting('cats','pop');
38+
}
39+
return false;
40+
}
41+
if ( event.type === 'keyup' && ( event.key === 'ArrowRight' || event.key === 'ArrowLeft' ) ) {
42+
$(this).attr( 'tabindex', '-1' );
43+
let next = $(this).parent('li').next();
44+
let prev = $(this).parent('li').prev();
45+
if ( next.length > 0 ) {
46+
next.find('a').removeAttr( 'tabindex');
47+
next.find('a').trigger( 'focus' );
48+
} else {
49+
prev.find('a').removeAttr( 'tabindex');
50+
prev.find('a').trigger( 'focus' );
51+
}
52+
}
3253
});
3354
if ( getUserSetting('cats') )
3455
$('#category-tabs a[href="#categories-pop"]').trigger( 'click' );

src/js/_enqueues/admin/post.js

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -566,16 +566,35 @@ jQuery( function($) {
566566
}
567567

568568
// @todo Move to jQuery 1.3+, support for multiple hierarchical taxonomies, see wp-lists.js.
569-
$('a', '#' + taxonomy + '-tabs').on( 'click', function( e ) {
570-
e.preventDefault();
569+
$('a', '#' + taxonomy + '-tabs').on( 'click keyup keydown', function( event ) {
571570
var t = $(this).attr('href');
572-
$(this).parent().addClass('tabs').siblings('li').removeClass('tabs');
573-
$('#' + taxonomy + '-tabs').siblings('.tabs-panel').hide();
574-
$(t).show();
575-
if ( '#' + taxonomy + '-all' == t ) {
576-
deleteUserSetting( settingName );
577-
} else {
578-
setUserSetting( settingName, 'pop' );
571+
if ( event.type === 'keydown' && event.key === ' ' ) {
572+
event.preventDefault();
573+
}
574+
if ( ( event.type === 'keyup' && event.key === ' ' ) || ( event.type === 'keydown' && event.key === 'Enter' ) || event.type === 'click' ) {
575+
event.preventDefault();
576+
$('#' + taxonomy + '-tabs a').removeAttr( 'aria-selected' ).attr( 'tabindex', '-1' );
577+
$(this).attr( 'aria-selected', 'true' ).removeAttr( 'tabindex' );
578+
$(this).parent().addClass('tabs').siblings('li').removeClass('tabs');
579+
$('#' + taxonomy + '-tabs').siblings('.tabs-panel').hide();
580+
$(t).show();
581+
if ( '#' + taxonomy + '-all' == t ) {
582+
deleteUserSetting( settingName );
583+
} else {
584+
setUserSetting( settingName, 'pop' );
585+
}
586+
}
587+
if ( event.type === 'keyup' && ( event.key === 'ArrowRight' || event.key === 'ArrowLeft' ) ) {
588+
$(this).attr( 'tabindex', '-1' );
589+
let next = $(this).parent('li').next();
590+
let prev = $(this).parent('li').prev();
591+
if ( next.length > 0 ) {
592+
next.find('a').removeAttr( 'tabindex');
593+
next.find('a').trigger( 'focus' );
594+
} else {
595+
prev.find('a').removeAttr( 'tabindex');
596+
prev.find('a').trigger( 'focus' );
597+
}
579598
}
580599
});
581600

src/js/_enqueues/wp/sanitize.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
* @return {string} Stripped text.
2424
*/
2525
stripTags: function( text ) {
26-
if ( ! text ) {
26+
if ( 'string' !== typeof text ) {
2727
return '';
2828
}
2929

src/js/media/views/attachments/browser.js

Lines changed: 58 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -193,37 +193,49 @@ AttachmentsBrowser = View.extend(/** @lends wp.media.view.AttachmentsBrowser.pro
193193
priority: -100,
194194
text: l10n.filterAttachments,
195195
level: 'h2',
196-
className: 'media-attachments-filter-heading'
196+
className: 'media-attachments-filter-heading screen-reader-text'
197197
}).render() );
198198
}
199199

200200
if ( showFilterByType ) {
201201
// "Filters" is a <select>, a visually hidden label element needs to be rendered before.
202-
this.toolbar.set( 'filtersLabel', new wp.media.view.Label({
202+
var filtersLabel = new wp.media.view.Label({
203203
value: l10n.filterByType,
204204
attributes: {
205205
'for': 'media-attachment-filters'
206206
},
207207
priority: -80
208-
}).render() );
208+
});
209209

210210
if ( 'uploaded' === this.options.filters ) {
211-
this.toolbar.set( 'filters', new wp.media.view.AttachmentFilters.Uploaded({
211+
Filters = new wp.media.view.AttachmentFilters.Uploaded({
212212
controller: this.controller,
213213
model: this.collection.props,
214-
priority: -80
215-
}).render() );
214+
});
216215
} else {
217216
Filters = new wp.media.view.AttachmentFilters.All({
218217
controller: this.controller,
219218
model: this.collection.props,
220-
priority: -80
221219
});
222-
223-
this.toolbar.set( 'filters', Filters.render() );
224220
}
225-
}
226221

222+
var filterContainer = wp.media.View.extend({
223+
tagname: 'div',
224+
className: 'media-filter-container type-filter',
225+
226+
initialize: function() {
227+
this.views.add( [ filtersLabel, Filters ] );
228+
}
229+
});
230+
231+
this.toolbar.set( 'filters', new filterContainer({
232+
controller: this.controller,
233+
model: this.controller.props,
234+
priority: -80
235+
}).render() );
236+
}
237+
238+
var dateFilter, dateFilterLabel, dateFilterContainer;
227239
/*
228240
* Feels odd to bring the global media library switcher into the Attachment browser view.
229241
* Is this a use case for doAction( 'add:toolbar-items:attachments-browser', this.toolbar );
@@ -241,17 +253,30 @@ AttachmentsBrowser = View.extend(/** @lends wp.media.view.AttachmentsBrowser.pro
241253
}).render() );
242254

243255
// DateFilter is a <select>, a visually hidden label element needs to be rendered before.
244-
this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({
256+
dateFilterLabel = new wp.media.view.Label({
245257
value: l10n.filterByDate,
246258
attributes: {
247259
'for': 'media-attachment-date-filters'
248260
},
249-
priority: -75
250-
}).render() );
251-
this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({
261+
});
262+
dateFilter = new wp.media.view.DateFilter({
263+
controller: this.controller,
264+
model: this.collection.props,
265+
});
266+
267+
dateFilterContainer = wp.media.View.extend({
268+
tagname: 'div',
269+
className: 'media-filter-container date-filter',
270+
271+
initialize: function() {
272+
this.views.add( [ dateFilterLabel, dateFilter ] );
273+
}
274+
});
275+
276+
this.toolbar.set( 'dateFilters', new dateFilterContainer({
252277
controller: this.controller,
253278
model: this.collection.props,
254-
priority: -75
279+
priority: -75
255280
}).render() );
256281

257282
// BulkSelection is a <div> with subviews, including screen reader text.
@@ -363,17 +388,30 @@ AttachmentsBrowser = View.extend(/** @lends wp.media.view.AttachmentsBrowser.pro
363388

364389
} else if ( this.options.date ) {
365390
// DateFilter is a <select>, a visually hidden label element needs to be rendered before.
366-
this.toolbar.set( 'dateFilterLabel', new wp.media.view.Label({
391+
dateFilterLabel = new wp.media.view.Label({
367392
value: l10n.filterByDate,
368393
attributes: {
369394
'for': 'media-attachment-date-filters'
370395
},
371-
priority: -75
372-
}).render() );
373-
this.toolbar.set( 'dateFilter', new wp.media.view.DateFilter({
396+
});
397+
dateFilter = new wp.media.view.DateFilter({
398+
controller: this.controller,
399+
model: this.collection.props,
400+
});
401+
402+
dateFilterContainer = wp.media.View.extend({
403+
tagname: 'div',
404+
className: 'media-filter-container date-filter',
405+
406+
initialize: function() {
407+
this.views.add( [ dateFilterLabel, dateFilter ] );
408+
}
409+
});
410+
411+
this.toolbar.set( 'dateFilters', new dateFilterContainer({
374412
controller: this.controller,
375413
model: this.collection.props,
376-
priority: -75
414+
priority: -75
377415
}).render() );
378416
}
379417

src/js/media/views/label.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
*/
1111
var Label = wp.media.View.extend(/** @lends wp.media.view.Label.prototype */{
1212
tagName: 'label',
13-
className: 'screen-reader-text',
1413

1514
initialize: function() {
1615
this.value = this.options.value;

src/js/media/views/uploader/inline.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ UploaderInline = View.extend(/** @lends wp.media.view.UploaderInline.prototype *
115115

116116
$browser.detach().text( $placeholder.text() );
117117
$browser[0].className = $placeholder[0].className;
118-
$browser[0].setAttribute( 'aria-labelledby', $browser[0].id + ' ' + $placeholder[0].getAttribute('aria-labelledby') );
118+
$browser[0].setAttribute( 'aria-describedby', $placeholder[0].getAttribute('aria-describedby') );
119119
$placeholder.replaceWith( $browser.show() );
120120
}
121121

src/wp-admin/css/color-picker.css

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,14 @@
117117

118118
.iris-picker .ui-square-handle:focus,
119119
.iris-picker .iris-strip .ui-slider-handle:focus {
120-
border-color: #3582c4;
120+
border-color: var(--wp-admin-theme-color, #3858e9);
121121
border-style: solid;
122-
box-shadow: 0 0 0 1px #3582c4;
122+
box-shadow: 0 0 0 var(--wp-admin-border-width-focus, 1.5px) var(--wp-admin-theme-color, #3858e9);
123123
outline: 2px solid transparent;
124124
}
125125

126126
.iris-picker .iris-palette:focus {
127-
box-shadow: 0 0 0 2px #3582c4;
127+
box-shadow: 0 0 0 var(--wp-admin-border-width-focus, 1.5px) var(--wp-admin-theme-color, #3858e9);
128128
}
129129

130130
@media screen and (max-width: 782px) {

src/wp-admin/css/common.css

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -812,10 +812,10 @@ img.emoji {
812812
content: "\f153";
813813
content: "\f153" / '';
814814
display: block;
815-
font: normal 20px/24px dashicons;
816-
height: 24px;
815+
font: normal 20px/1 dashicons;
816+
height: 1em;
817817
text-align: center;
818-
width: 24px;
818+
width: 1em;
819819
-webkit-font-smoothing: antialiased;
820820
-moz-osx-font-smoothing: grayscale;
821821
}
@@ -2245,7 +2245,7 @@ html.wp-toolbar {
22452245

22462246
.postbox .handle-order-higher,
22472247
.postbox .handle-order-lower {
2248-
color: #787c82;
2248+
color: #646970;
22492249
width: 1.62rem;
22502250
}
22512251

@@ -3659,7 +3659,7 @@ img {
36593659
.postbox .handlediv.button-link,
36603660
.item-edit,
36613661
.toggle-indicator {
3662-
color: #787c82;
3662+
color: #646970;
36633663
}
36643664

36653665
.widget-action {

0 commit comments

Comments
 (0)