diff --git a/packages/button/src/ButtonBase.ts b/packages/button/src/ButtonBase.ts
index 615e9db53b..d744b6c1db 100644
--- a/packages/button/src/ButtonBase.ts
+++ b/packages/button/src/ButtonBase.ts
@@ -57,12 +57,9 @@ export class ButtonBase extends LikeAnchor(
protected get buttonContent(): TemplateResult[] {
const content = [
html`
-
-
-
+
+
+
`,
];
if (this.hasIcon) {
diff --git a/packages/button/src/spectrum-button.css b/packages/button/src/spectrum-button.css
index 7a1d42043d..2fe14cff09 100644
--- a/packages/button/src/spectrum-button.css
+++ b/packages/button/src/spectrum-button.css
@@ -107,7 +107,7 @@ governing permissions and limitations under the License.
justify-self: center;
text-align: center;
}
-#label:empty {
+#label[hidden] {
display: none; /* .spectrum-Button-label:empty */
}
:host {
diff --git a/packages/button/src/spectrum-config.js b/packages/button/src/spectrum-config.js
index db6edae36a..48cedbd2d7 100644
--- a/packages/button/src/spectrum-config.js
+++ b/packages/button/src/spectrum-config.js
@@ -127,6 +127,12 @@ const config = {
excludeSourceSelector: [
/^(\.spectrum-Button.*),(\.spectrum-ClearButton.*),(\.spectrum-LogicButton.*)$/,
],
+ complexSelectors: [
+ {
+ replacement: '#label[hidden]',
+ selector: '.spectrum-Button-label:empty',
+ },
+ ],
},
],
};