diff --git a/report/renderer/performance-category-renderer.js b/report/renderer/performance-category-renderer.js index d868b96f0f16..2f6820b3ffb7 100644 --- a/report/renderer/performance-category-renderer.js +++ b/report/renderer/performance-category-renderer.js @@ -205,17 +205,19 @@ export class PerformanceCategoryRenderer extends CategoryRenderer { metricsBoxesEl.appendChild(this._renderMetric(item)); }); - const descriptionEl = this.dom.find('.lh-category-header__description', element); - const estValuesEl = this.dom.createChildOf(descriptionEl, 'div', 'lh-metrics__disclaimer'); - const disclaimerEl = this.dom.convertMarkdownLinkSnippets(strings.varianceDisclaimer); - estValuesEl.appendChild(disclaimerEl); - - // Add link to score calculator. - const calculatorLink = this.dom.createChildOf(estValuesEl, 'a', 'lh-calclink'); - calculatorLink.target = '_blank'; - calculatorLink.textContent = strings.calculatorLink; - this.dom.safelySetHref(calculatorLink, this._getScoringCalculatorHref(category.auditRefs)); - + // Only add the disclaimer with the score calculator link if the category was rendered with a score gauge. + if (element.querySelector('.lh-gauge__wrapper')) { + const descriptionEl = this.dom.find('.lh-category-header__description', element); + const estValuesEl = this.dom.createChildOf(descriptionEl, 'div', 'lh-metrics__disclaimer'); + const disclaimerEl = this.dom.convertMarkdownLinkSnippets(strings.varianceDisclaimer); + estValuesEl.appendChild(disclaimerEl); + + // Add link to score calculator. + const calculatorLink = this.dom.createChildOf(estValuesEl, 'a', 'lh-calclink'); + calculatorLink.target = '_blank'; + calculatorLink.textContent = strings.calculatorLink; + this.dom.safelySetHref(calculatorLink, this._getScoringCalculatorHref(category.auditRefs)); + } metricsGroupEl.classList.add('lh-audit-group--metrics'); element.appendChild(metricsGroupEl); diff --git a/report/test/renderer/performance-category-renderer-test.js b/report/test/renderer/performance-category-renderer-test.js index 19fed9af0a9e..89019c0ad75a 100644 --- a/report/test/renderer/performance-category-renderer-test.js +++ b/report/test/renderer/performance-category-renderer-test.js @@ -106,6 +106,17 @@ describe('PerfCategoryRenderer', () => { assert.strictEqual(new URL(calcLink.href).hostname, 'googlechrome.github.io'); }); + it('does not render disclaimer if there is no category gauge', () => { + // Timespan mode uses a category fraction instead of a gauge. + const categoryDOM = renderer.render( + category, + sampleResults.categoryGroups, + {gatherMode: 'timespan'} + ); + const disclaimerEl = categoryDOM.querySelector('.lh-metrics__disclaimer'); + assert.ok(!disclaimerEl); + }); + it('ignores hidden audits', () => { const categoryDOM = renderer.render(category, sampleResults.categoryGroups);