diff --git a/packages/block-library/src/file/deprecated.js b/packages/block-library/src/file/deprecated.js index d0aed2a3868e8..ba053cb05019d 100644 --- a/packages/block-library/src/file/deprecated.js +++ b/packages/block-library/src/file/deprecated.js @@ -14,7 +14,7 @@ import { import { __, sprintf } from '@wordpress/i18n'; // Version of the file block without PR#43050 removing the translated aria-label. -const v2 = { +const v3 = { attributes: { id: { type: 'number', @@ -143,6 +143,134 @@ const v2 = { }, }; +// In #41239 the button was made an element button which added a `wp-element-button` classname +// to the download link element. +const v2 = { + attributes: { + id: { + type: 'number', + }, + href: { + type: 'string', + }, + fileId: { + type: 'string', + source: 'attribute', + selector: 'a:not([download])', + attribute: 'id', + }, + fileName: { + type: 'string', + source: 'html', + selector: 'a:not([download])', + }, + textLinkHref: { + type: 'string', + source: 'attribute', + selector: 'a:not([download])', + attribute: 'href', + }, + textLinkTarget: { + type: 'string', + source: 'attribute', + selector: 'a:not([download])', + attribute: 'target', + }, + showDownloadButton: { + type: 'boolean', + default: true, + }, + downloadButtonText: { + type: 'string', + source: 'html', + selector: 'a[download]', + }, + displayPreview: { + type: 'boolean', + }, + previewHeight: { + type: 'number', + default: 600, + }, + }, + supports: { + anchor: true, + align: true, + }, + save( { attributes } ) { + const { + href, + fileId, + fileName, + textLinkHref, + textLinkTarget, + showDownloadButton, + downloadButtonText, + displayPreview, + previewHeight, + } = attributes; + + const pdfEmbedLabel = RichText.isEmpty( fileName ) + ? __( 'PDF embed' ) + : sprintf( + /* translators: %s: filename. */ + __( 'Embed of %s.' ), + fileName + ); + + const hasFilename = ! RichText.isEmpty( fileName ); + + // Only output an `aria-describedby` when the element it's referring to is + // actually rendered. + const describedById = hasFilename ? fileId : undefined; + + return ( + href && ( +
+ ) + ); + }, +}; + // Version of the file block without PR#28062 accessibility fix. const v1 = { attributes: { @@ -255,6 +383,6 @@ const v1 = { }, }; -const deprecated = [ v2, v1 ]; +const deprecated = [ v3, v2, v1 ]; export default deprecated;