lighthouse 8.6.0-dev.20211101 → 8.6.0-dev.20211102
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/report/flow.js +13 -13
- package/dist/report/standalone.js +11 -11
- package/flow-report/.eslintrc.cjs +2 -0
- package/flow-report/assets/styles.css +1 -1
- package/flow-report/src/common.tsx +11 -4
- package/flow-report/src/i18n/i18n.tsx +10 -6
- package/flow-report/src/icons.tsx +21 -9
- package/flow-report/src/sidebar/sidebar.tsx +9 -3
- package/flow-report/src/summary/category.tsx +7 -2
- package/flow-report/src/summary/summary.tsx +9 -3
- package/flow-report/src/util.ts +21 -9
- package/flow-report/src/wrappers/report-renderer.tsx +9 -3
- package/flow-report/src/wrappers/report.tsx +7 -2
- package/flow-report/test/setup/env-setup.ts +1 -1
- package/lighthouse-cli/.eslintrc.cjs +2 -0
- package/lighthouse-cli/cli-flags.js +1 -1
- package/lighthouse-core/audits/audit.js +1 -1
- package/lighthouse-core/computed/resource-summary.js +1 -1
- package/lighthouse-core/config/default-config.js +0 -2
- package/lighthouse-core/gather/connections/cri.js +1 -1
- package/lighthouse-core/lib/proto-preprocessor.js +14 -2
- package/lighthouse-core/lib/url-shim.js +1 -1
- package/lighthouse-core/util-commonjs.js +24 -9
- package/package.json +3 -3
- package/report/.eslintrc.cjs +2 -0
- package/report/assets/styles.css +226 -250
- package/report/assets/templates.html +19 -29
- package/report/renderer/category-renderer.js +21 -17
- package/report/renderer/components.js +21 -54
- package/report/renderer/crc-details-renderer.js +15 -12
- package/report/renderer/open-tab.js +9 -3
- package/report/renderer/performance-category-renderer.js +31 -19
- package/report/renderer/report-renderer.js +2 -1
- package/report/renderer/report-ui-features.js +2 -3
- package/report/renderer/util.js +25 -9
- package/report/test/renderer/category-renderer-test.js +2 -2
- package/report/test/renderer/performance-category-renderer-test.js +1 -1
- package/report/test/renderer/report-ui-features-test.js +7 -9
- package/report/test-assets/faux-psi.js +5 -5
- package/shared/localization/locales/ar-XB.json +0 -15
- package/shared/localization/locales/ar.json +0 -15
- package/shared/localization/locales/bg.json +0 -15
- package/shared/localization/locales/ca.json +0 -15
- package/shared/localization/locales/cs.json +0 -15
- package/shared/localization/locales/da.json +0 -15
- package/shared/localization/locales/de.json +0 -15
- package/shared/localization/locales/el.json +0 -15
- package/shared/localization/locales/en-GB.json +0 -15
- package/shared/localization/locales/en-US.json +18 -15
- package/shared/localization/locales/en-XA.json +0 -15
- package/shared/localization/locales/en-XL.json +18 -15
- package/shared/localization/locales/es-419.json +0 -15
- package/shared/localization/locales/es.json +0 -15
- package/shared/localization/locales/fi.json +0 -15
- package/shared/localization/locales/fil.json +0 -15
- package/shared/localization/locales/fr.json +0 -15
- package/shared/localization/locales/he.json +0 -15
- package/shared/localization/locales/hi.json +0 -15
- package/shared/localization/locales/hr.json +0 -15
- package/shared/localization/locales/hu.json +0 -15
- package/shared/localization/locales/id.json +0 -15
- package/shared/localization/locales/it.json +0 -15
- package/shared/localization/locales/ja.json +0 -15
- package/shared/localization/locales/ko.json +0 -15
- package/shared/localization/locales/lt.json +0 -15
- package/shared/localization/locales/lv.json +0 -15
- package/shared/localization/locales/nl.json +0 -15
- package/shared/localization/locales/no.json +0 -15
- package/shared/localization/locales/pl.json +0 -15
- package/shared/localization/locales/pt-PT.json +0 -15
- package/shared/localization/locales/pt.json +0 -15
- package/shared/localization/locales/ro.json +0 -15
- package/shared/localization/locales/ru.json +0 -15
- package/shared/localization/locales/sk.json +0 -15
- package/shared/localization/locales/sl.json +0 -15
- package/shared/localization/locales/sr-Latn.json +0 -15
- package/shared/localization/locales/sr.json +0 -15
- package/shared/localization/locales/sv.json +0 -15
- package/shared/localization/locales/ta.json +0 -15
- package/shared/localization/locales/te.json +0 -15
- package/shared/localization/locales/th.json +0 -15
- package/shared/localization/locales/tr.json +0 -15
- package/shared/localization/locales/uk.json +0 -15
- package/shared/localization/locales/vi.json +0 -15
- package/shared/localization/locales/zh-HK.json +0 -15
- package/shared/localization/locales/zh-TW.json +0 -15
- package/shared/localization/locales/zh.json +0 -15
- package/lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js +0 -96
|
@@ -183,15 +183,26 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
|
|
|
183
183
|
// Metrics.
|
|
184
184
|
const metricAudits = category.auditRefs.filter(audit => audit.group === 'metrics');
|
|
185
185
|
if (metricAudits.length) {
|
|
186
|
-
const
|
|
186
|
+
const [metricsGroupEl, metricsFooterEl] = this.renderAuditGroup(groups.metrics);
|
|
187
187
|
|
|
188
188
|
// Metric descriptions toggle.
|
|
189
|
-
const
|
|
190
|
-
const
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
189
|
+
const checkboxEl = this.dom.createElement('input', 'lh-metrics-toggle__input');
|
|
190
|
+
const checkboxId = `lh-metrics-toggle${Util.getUniqueSuffix()}`;
|
|
191
|
+
checkboxEl.setAttribute('aria-label', 'Toggle the display of metric descriptions');
|
|
192
|
+
checkboxEl.type = 'checkbox';
|
|
193
|
+
checkboxEl.id = checkboxId;
|
|
194
|
+
metricsGroupEl.prepend(checkboxEl);
|
|
195
|
+
const metricHeaderEl = this.dom.find('.lh-audit-group__header', metricsGroupEl);
|
|
196
|
+
const labelEl = this.dom.createChildOf(metricHeaderEl, 'label', 'lh-metrics-toggle__label');
|
|
197
|
+
labelEl.htmlFor = checkboxId;
|
|
198
|
+
const showEl = this.dom.createChildOf(labelEl, 'span', 'lh-metrics-toggle__labeltext--show');
|
|
199
|
+
const hideEl = this.dom.createChildOf(labelEl, 'span', 'lh-metrics-toggle__labeltext--hide');
|
|
200
|
+
showEl.textContent = Util.i18n.strings.expandView;
|
|
201
|
+
hideEl.textContent = Util.i18n.strings.collapseView;
|
|
202
|
+
|
|
203
|
+
const metricAudits = category.auditRefs.filter(audit => audit.group === 'metrics');
|
|
204
|
+
const metricsBoxesEl = this.dom.createElement('div', 'lh-metrics-container');
|
|
205
|
+
metricsGroupEl.insertBefore(metricsBoxesEl, metricsFooterEl);
|
|
195
206
|
metricAudits.forEach(item => {
|
|
196
207
|
metricsBoxesEl.appendChild(this._renderMetric(item));
|
|
197
208
|
});
|
|
@@ -208,8 +219,8 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
|
|
|
208
219
|
this.dom.safelySetHref(calculatorLink, this._getScoringCalculatorHref(category.auditRefs));
|
|
209
220
|
|
|
210
221
|
|
|
211
|
-
|
|
212
|
-
element.appendChild(
|
|
222
|
+
metricsGroupEl.classList.add('lh-audit-group--metrics');
|
|
223
|
+
element.appendChild(metricsGroupEl);
|
|
213
224
|
}
|
|
214
225
|
|
|
215
226
|
// Filmstrip
|
|
@@ -240,7 +251,7 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
|
|
|
240
251
|
const wastedMsValues = opportunityAudits.map(audit => this._getWastedMs(audit));
|
|
241
252
|
const maxWaste = Math.max(...wastedMsValues);
|
|
242
253
|
const scale = Math.max(Math.ceil(maxWaste / 1000) * 1000, minimumScale);
|
|
243
|
-
const groupEl = this.renderAuditGroup(groups['load-opportunities']);
|
|
254
|
+
const [groupEl, footerEl] = this.renderAuditGroup(groups['load-opportunities']);
|
|
244
255
|
const tmpl = this.dom.createComponent('opportunityHeader');
|
|
245
256
|
|
|
246
257
|
this.dom.find('.lh-load-opportunity__col--one', tmpl).textContent =
|
|
@@ -249,8 +260,9 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
|
|
|
249
260
|
strings.opportunitySavingsColumnLabel;
|
|
250
261
|
|
|
251
262
|
const headerEl = this.dom.find('.lh-load-opportunity__header', tmpl);
|
|
252
|
-
groupEl.
|
|
253
|
-
opportunityAudits.forEach(item =>
|
|
263
|
+
groupEl.insertBefore(headerEl, footerEl);
|
|
264
|
+
opportunityAudits.forEach(item =>
|
|
265
|
+
groupEl.insertBefore(this._renderOpportunity(item, scale), footerEl));
|
|
254
266
|
groupEl.classList.add('lh-audit-group--load-opportunities');
|
|
255
267
|
element.appendChild(groupEl);
|
|
256
268
|
}
|
|
@@ -266,8 +278,8 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
|
|
|
266
278
|
});
|
|
267
279
|
|
|
268
280
|
if (diagnosticAudits.length) {
|
|
269
|
-
const groupEl = this.renderAuditGroup(groups['diagnostics']);
|
|
270
|
-
diagnosticAudits.forEach(item => groupEl.
|
|
281
|
+
const [groupEl, footerEl] = this.renderAuditGroup(groups['diagnostics']);
|
|
282
|
+
diagnosticAudits.forEach(item => groupEl.insertBefore(this.renderAudit(item), footerEl));
|
|
271
283
|
groupEl.classList.add('lh-audit-group--diagnostics');
|
|
272
284
|
element.appendChild(groupEl);
|
|
273
285
|
}
|
|
@@ -294,16 +306,16 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
|
|
|
294
306
|
const table = this.detailsRenderer.render(audit.result.details);
|
|
295
307
|
if (table) {
|
|
296
308
|
table.id = id;
|
|
297
|
-
table.classList.add('lh-audit');
|
|
309
|
+
table.classList.add('lh-details', 'lh-details--budget', 'lh-audit');
|
|
298
310
|
budgetTableEls.push(table);
|
|
299
311
|
}
|
|
300
312
|
}
|
|
301
313
|
});
|
|
302
314
|
if (budgetTableEls.length > 0) {
|
|
303
|
-
const
|
|
304
|
-
budgetTableEls.forEach(table =>
|
|
305
|
-
|
|
306
|
-
element.appendChild(
|
|
315
|
+
const [groupEl, footerEl] = this.renderAuditGroup(groups.budgets);
|
|
316
|
+
budgetTableEls.forEach(table => groupEl.insertBefore(table, footerEl));
|
|
317
|
+
groupEl.classList.add('lh-audit-group--budgets');
|
|
318
|
+
element.appendChild(groupEl);
|
|
307
319
|
}
|
|
308
320
|
|
|
309
321
|
return element;
|
|
@@ -268,6 +268,7 @@ export class ReportRenderer {
|
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
const scoreScale = this._dom.createElement('div');
|
|
271
|
+
scoreScale.classList.add('lh-scorescale-wrap');
|
|
271
272
|
scoreScale.append(this._dom.createComponent('scorescale'));
|
|
272
273
|
if (scoreHeader) {
|
|
273
274
|
const scoresContainer = this._dom.find('.lh-scores-container', headerContainer);
|
|
@@ -287,7 +288,7 @@ export class ReportRenderer {
|
|
|
287
288
|
for (const category of Object.values(report.categories)) {
|
|
288
289
|
const renderer = specificCategoryRenderers[category.id] || categoryRenderer;
|
|
289
290
|
// .lh-category-wrapper is full-width and provides horizontal rules between categories.
|
|
290
|
-
// .lh-category within has the max-width: var(--report-width);
|
|
291
|
+
// .lh-category within has the max-width: var(--report-content-width);
|
|
291
292
|
const wrapper = renderer.dom.createChildOf(categories, 'div', 'lh-category-wrapper');
|
|
292
293
|
wrapper.appendChild(renderer.render(
|
|
293
294
|
category,
|
|
@@ -256,10 +256,9 @@ export class ReportUIFeatures {
|
|
|
256
256
|
const allThirdParty = thirdPartyRows.length === rowEls.length;
|
|
257
257
|
const allFirstParty = !thirdPartyRows.length;
|
|
258
258
|
|
|
259
|
-
// If all or none of the rows are 3rd party,
|
|
259
|
+
// If all or none of the rows are 3rd party, hide the control.
|
|
260
260
|
if (allThirdParty || allFirstParty) {
|
|
261
|
-
|
|
262
|
-
filterInput.checked = allThirdParty;
|
|
261
|
+
this._dom.find('div.lh-3p-filter', filterTemplate).hidden = true;
|
|
263
262
|
}
|
|
264
263
|
|
|
265
264
|
// Add checkbox to the DOM.
|
package/report/renderer/util.js
CHANGED
|
@@ -38,7 +38,11 @@ const listOfTlds = [
|
|
|
38
38
|
'web', 'spb', 'blog', 'jus', 'kiev', 'mil', 'wi', 'qc', 'ca', 'bel', 'on',
|
|
39
39
|
];
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
class Util {
|
|
42
|
+
/** @type {I18n<typeof UIStrings>} */
|
|
43
|
+
// @ts-expect-error: Is set in report renderer.
|
|
44
|
+
static i18n = null;
|
|
45
|
+
|
|
42
46
|
static get PASS_THRESHOLD() {
|
|
43
47
|
return PASS_THRESHOLD;
|
|
44
48
|
}
|
|
@@ -417,7 +421,7 @@ export class Util {
|
|
|
417
421
|
throttling.downloadThroughputKbps === 1.6 * 1024 * 0.9 &&
|
|
418
422
|
throttling.uploadThroughputKbps === 750 * 0.9;
|
|
419
423
|
};
|
|
420
|
-
summary =
|
|
424
|
+
summary = isSlow4G() ? Util.i18n.strings.runtimeSlow4g : Util.i18n.strings.runtimeCustom;
|
|
421
425
|
break;
|
|
422
426
|
}
|
|
423
427
|
case 'simulate': {
|
|
@@ -429,7 +433,7 @@ export class Util {
|
|
|
429
433
|
const isSlow4G = () => {
|
|
430
434
|
return rttMs === 150 && throughputKbps === 1.6 * 1024;
|
|
431
435
|
};
|
|
432
|
-
summary = isSlow4G() ?
|
|
436
|
+
summary = isSlow4G() ? Util.i18n.strings.runtimeSlow4g : Util.i18n.strings.runtimeCustom;
|
|
433
437
|
break;
|
|
434
438
|
}
|
|
435
439
|
default:
|
|
@@ -554,14 +558,10 @@ Util.getUniqueSuffix = (() => {
|
|
|
554
558
|
};
|
|
555
559
|
})();
|
|
556
560
|
|
|
557
|
-
/** @type {I18n<typeof Util['UIStrings']>} */
|
|
558
|
-
// @ts-expect-error: Is set in report renderer.
|
|
559
|
-
Util.i18n = null;
|
|
560
|
-
|
|
561
561
|
/**
|
|
562
562
|
* Report-renderer-specific strings.
|
|
563
563
|
*/
|
|
564
|
-
|
|
564
|
+
const UIStrings = {
|
|
565
565
|
/** Disclaimer shown to users below the metric values (First Contentful Paint, Time to Interactive, etc) to warn them that the numbers they see will likely change slightly the next time they run Lighthouse. */
|
|
566
566
|
varianceDisclaimer: 'Values are estimated and may vary. The [performance score is calculated](https://web.dev/performance-scoring/) directly from these metrics.',
|
|
567
567
|
/** Text link pointing to an interactive calculator that explains Lighthouse scoring. The link text should be fairly short. */
|
|
@@ -661,6 +661,22 @@ Util.UIStrings = {
|
|
|
661
661
|
|
|
662
662
|
/** Descriptive explanation for environment throttling that was provided by the runtime environment instead of provided by Lighthouse throttling. */
|
|
663
663
|
throttlingProvided: 'Provided by environment',
|
|
664
|
+
/** Label for an interactive control that will reveal or hide a group of content. This control toggles between the text 'Show' and 'Hide'. */
|
|
665
|
+
show: 'Show',
|
|
666
|
+
/** Label for an interactive control that will reveal or hide a group of content. This control toggles between the text 'Show' and 'Hide'. */
|
|
667
|
+
hide: 'Hide',
|
|
668
|
+
/** Label for an interactive control that will reveal or hide a group of content. This control toggles between the text 'Expand view' and 'Collapse view'. */
|
|
669
|
+
expandView: 'Expand view',
|
|
670
|
+
/** Label for an interactive control that will reveal or hide a group of content. This control toggles between the text 'Expand view' and 'Collapse view'. */
|
|
671
|
+
collapseView: 'Collapse view',
|
|
672
|
+
/** Label indicating that Lighthouse throttled the page to emulate a slow 4G network connection. */
|
|
673
|
+
runtimeSlow4g: 'Slow 4G throttling',
|
|
674
|
+
/** Label indicating that Lighthouse throttled the page using custom throttling settings. */
|
|
675
|
+
runtimeCustom: 'Custom throttling',
|
|
664
676
|
};
|
|
677
|
+
Util.UIStrings = UIStrings;
|
|
665
678
|
|
|
666
|
-
export
|
|
679
|
+
export {
|
|
680
|
+
Util,
|
|
681
|
+
UIStrings,
|
|
682
|
+
};
|
|
@@ -197,8 +197,8 @@ describe('CategoryRenderer', () => {
|
|
|
197
197
|
'score shows informative and dash icon');
|
|
198
198
|
|
|
199
199
|
assert.ok(pwaCategory.manualDescription);
|
|
200
|
-
const description = categoryDOM
|
|
201
|
-
.querySelector('.lh-
|
|
200
|
+
const description = categoryDOM.querySelector('.lh-clump--manual').closest('.lh-audit-group')
|
|
201
|
+
.querySelector('.lh-audit-group__description').textContent;
|
|
202
202
|
// may need to be adjusted if description includes a link at the beginning
|
|
203
203
|
assert.ok(description.startsWith(pwaCategory.manualDescription.substring(0, 20)),
|
|
204
204
|
'no manual description');
|
|
@@ -192,7 +192,7 @@ describe('PerfCategoryRenderer', () => {
|
|
|
192
192
|
|
|
193
193
|
it('renders the passed audits', () => {
|
|
194
194
|
const categoryDOM = renderer.render(category, sampleResults.categoryGroups);
|
|
195
|
-
const passedSection = categoryDOM.querySelector('.lh-
|
|
195
|
+
const passedSection = categoryDOM.querySelector('.lh-clump--passed');
|
|
196
196
|
|
|
197
197
|
const passedAudits = category.auditRefs.filter(audit =>
|
|
198
198
|
!audit.group &&
|
|
@@ -256,17 +256,15 @@ describe('ReportUIFeatures', () => {
|
|
|
256
256
|
.toThrowError('query #uses-rel-preconnect .lh-3p-filter-input not found');
|
|
257
257
|
});
|
|
258
258
|
|
|
259
|
-
it('filter is
|
|
260
|
-
const
|
|
261
|
-
dom.find('#render-blocking-resources .lh-3p-filter
|
|
262
|
-
expect(
|
|
263
|
-
expect(filterCheckbox.checked).toEqual(true);
|
|
259
|
+
it('filter is hidden when just third party resources', () => {
|
|
260
|
+
const filterControl =
|
|
261
|
+
dom.find('#render-blocking-resources .lh-3p-filter', container);
|
|
262
|
+
expect(filterControl.hidden).toEqual(true);
|
|
264
263
|
});
|
|
265
264
|
|
|
266
|
-
it('filter is
|
|
267
|
-
const
|
|
268
|
-
expect(
|
|
269
|
-
expect(filterCheckbox.checked).toEqual(false);
|
|
265
|
+
it('filter is hidden for just first party resources', () => {
|
|
266
|
+
const filterControl = dom.find('#uses-text-compression .lh-3p-filter', container);
|
|
267
|
+
expect(filterControl.hidden).toEqual(true);
|
|
270
268
|
});
|
|
271
269
|
});
|
|
272
270
|
});
|
|
@@ -101,15 +101,15 @@ async function decorateScreenshot(datauri, tabId) {
|
|
|
101
101
|
img.src = datauri;
|
|
102
102
|
});
|
|
103
103
|
const c = document.createElement('canvas');
|
|
104
|
-
c.width = img.width;
|
|
105
|
-
c.height = img.height;
|
|
104
|
+
c.width = tabId === 'desktop' ? 280 : img.width;
|
|
105
|
+
c.height = tabId === 'desktop' ? 194 : img.height;
|
|
106
106
|
|
|
107
107
|
const ctx = c.getContext('2d');
|
|
108
108
|
if (!ctx) throw new Error();
|
|
109
|
-
ctx.drawImage(img, 0, 0);
|
|
110
|
-
ctx.font = `${
|
|
109
|
+
ctx.drawImage(img, 0, 0, c.width, c.height);
|
|
110
|
+
ctx.font = `${c.width / 2}px serif`;
|
|
111
111
|
ctx.textAlign = 'center';
|
|
112
112
|
ctx.globalAlpha = 0.7;
|
|
113
|
-
ctx.fillText(tabId === 'mobile' ? '📱' : '💻',
|
|
113
|
+
ctx.fillText(tabId === 'mobile' ? '📱' : '💻', c.width / 2, Math.min(c.height / 2, 700));
|
|
114
114
|
return c.toDataURL();
|
|
115
115
|
}
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Avoids an excessive DOM size"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Failing Anchors"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Add `rel=\"noopener\"` or `rel=\"noreferrer\"` to any external links to improve performance and prevent security vulnerabilities. [Learn more](https://web.dev/external-anchors-use-rel-noopener/)."
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Links to cross-origin destinations are unsafe"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Links to cross-origin destinations are safe"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "Unable to determine the destination for anchor ({anchorHTML}). If not used as a hyperlink, consider removing target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more](https://web.dev/geolocation-on-start/)."
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "تجنُب حجم DOM الزائد"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "علامات الارتساء التي تعذّرت مراجعتها"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "يمكنك إضافة `rel=\"noopener\"` أو `rel=\"noreferrer\"` إلى أي روابط خارجية لتحسين الأداء ومنع الثغرات الأمنية. [مزيد من المعلومات](https://web.dev/external-anchors-use-rel-noopener/)"
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "الروابط إلى وجهات مشتركة المصدر هي غير آمنة"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "الروابط إلى وجهات مشتركة المصدر هي آمنة"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "يتعذّر تحديد الوجهة لإعلان ثابت {anchorHTML}). في حال عدم استخدامه كرابط تشعبي، يمكنك إزالة target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "لا يثق المستخدمون في المواقع الإلكترونية التي تطلب مواقعهم الجغرافية بدون سياق أو قد يؤدي ذلك إلى إرباكهم. يمكنك ربط الطلب بإجراء المستخدم بدلاً من ذلك. [مزيد من المعلومات](https://web.dev/geolocation-on-start/)"
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Не се използва DOM с твърде голям размер"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Anchor маркери с грешки"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Добавете `rel=\"noopener\"` или `rel=\"noreferrer\"` към връзките към външни сайтове, за да подобрите ефективността и да избегнете уязвимости в сигурността. [Научете повече](https://web.dev/external-anchors-use-rel-noopener/)."
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Връзките към външни дестинации не са безопасни"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Връзките към външни дестинации са безопасни"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "Не можахме да определим дестинацията за котвата ({anchorHTML}). Ако не се използва като хипервръзка, бихте могли да премахнете target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Потребителите се объркват или нямат доверие на сайтове, които искат да узнаят местоположението им без контекст. Вместо това бихте могли да обвържете заявката към действие на потребителя. [Научете повече](https://web.dev/geolocation-on-start/)."
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Evita una mida excessiva de DOM"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Àncora amb errors"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Afegeix `rel=\"noopener\"` o `rel=\"noreferrer\"` a qualsevol enllaç extern per millorar-ne el rendiment i evitar vulnerabilitats de seguretat. [Obtén més informació](https://web.dev/external-anchors-use-rel-noopener/)."
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Els enllaços a destinacions de diversos orígens no són segurs"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Els enllaços a destinacions de diversos orígens són segurs"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "No es pot determinar la destinació de l'ancoratge ({anchorHTML}). Si no s'utilitza com a enllaç, et recomanem que suprimeixis target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Els usuaris reaccionen amb desconfiança i desconcert davant dels llocs web que els sol·liciten la ubicació sense context. Et recomanem que vinculis la sol·licitud a una acció de l'usuari. [Obtén més informació](https://web.dev/geolocation-on-start/)."
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Nepoužívá příliš velký model DOM"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Ukotvení, která neprošla"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Ke všem externím odkazům přidejte atribut `rel=\"noopener\"` nebo `rel=\"noreferrer\"`. Stránku tím zrychlíte a předejdete ohrožení zabezpečení. [Další informace](https://web.dev/external-anchors-use-rel-noopener/)"
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Odkazy na cíle v jiných doménách nejsou bezpečné"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Odkazy na cíle v jiných doménách jsou bezpečné"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "Nepodařilo se určit cíl ukotvení ({anchorHTML}). Pokud tento prvek nepoužíváte jako hypertextový odkaz, zvažte odstranění atributu target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Vůči webům, které bez kontextu žádají o polohu, mohou být uživatelé nedůvěřiví nebo z nich mohou být zmateni. Zvažte možnost spojit tuto žádost s akcí uživatele. [Další informace](https://web.dev/geolocation-on-start/)"
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Undgår en overdreven DOM-størrelse"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Ankere, der ikke bestod gennemgangen"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Føj `rel=\"noopener\"` eller `rel=\"noreferrer\"` til alle eksterne links for at forbedre ydeevnen og forhindre sikkerhedssårbarheder. [Få flere oplysninger](https://web.dev/external-anchors-use-rel-noopener/)."
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Links til destinationer af anden oprindelse er ikke sikre"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Links til destinationer af anden oprindelse er sikre"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "Destinationen for ankeret ({anchorHTML}) kunne ikke identificeres. Hvis det ikke bruges som hyperlink, bør du overveje at fjerne target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Brugere er mistænksomme over for eller forvirres af websites, der anmoder om deres placering uden sammenhæng. Overvej at knytte anmodningen til en brugerhandling i stedet for. [Få flere oplysninger](https://web.dev/geolocation-on-start/)."
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Vermeidet eine übermäßige DOM-Größe"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Fehlerhafte Anker"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Fügen Sie beliebigen externen Links `rel=\"noopener\"` oder `rel=\"noreferrer\"` hinzu, um die Leistung zu verbessern und Sicherheitslücken zu vermeiden. [Weitere Informationen.](https://web.dev/external-anchors-use-rel-noopener/)"
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Links zu ursprungsübergreifenden Zielen sind unsicher"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Links zu ursprungsübergreifenden Zielen sind sicher"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "Ziel für Anker ({anchorHTML}) kann nicht bestimmt werden. Wenn dies nicht als Hyperlink genutzt wird, sollten Sie target=_blank entfernen."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Nutzer sind misstrauisch oder verwirrt, wenn Websites den Standort ohne Begründung anfordern. Versuchen Sie stattdessen, die Anforderung mit einer Nutzeraktion zu verbinden. [Weitere Informationen.](https://web.dev/geolocation-on-start/)"
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Αποφεύγει τα υπερβολικά μεγάλα μεγέθη DOM"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Αγκυρώσεις που αποτυγχάνουν"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Προσθέστε ένα στοιχείο `rel=\"noopener\"` ή `rel=\"noreferrer\"` στους εξωτερικούς συνδέσμους για να βελτιώσετε την απόδοση και να αποφύγετε τις ευπάθειες ασφάλειας. [Μάθετε περισσότερα](https://web.dev/external-anchors-use-rel-noopener/)."
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Οι σύνδεσμοι με προορισμούς διασταυρούμενων προελεύσεων δεν είναι ασφαλείς"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Οι σύνδεσμοι με προορισμούς διασταυρούμενων προελεύσεων είναι ασφαλείς"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "Δεν ήταν δυνατός ο προσδιορισμός του προορισμού για την αγκύρωση ({anchorHTML}). Εάν δεν χρησιμοποιείται ως υπερσύνδεσμος, εξετάστε το ενδεχόμενο να καταργήσετε το χαρακτηριστικό target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Οι ιστότοποι που απαιτούν τη γνωστοποίηση τοποθεσίας χωρίς προφανή αιτία προκαλούν σύγχυση ή φαίνονται ύποπτοι στους χρήστες. Συνιστάται τα αιτήματα να συνδέονται με τις ενέργειες των χρηστών. [Μάθετε περισσότερα](https://web.dev/geolocation-on-start/)."
|
|
820
805
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "Avoids an excessive DOM size"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "Failing anchors"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "Add `rel=\"noopener\"` or `rel=\"noreferrer\"` to any external links to improve performance and prevent security vulnerabilities. [Learn more](https://web.dev/external-anchors-use-rel-noopener/)."
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "Links to cross-origin destinations are unsafe"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "Links to cross-origin destinations are safe"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "Unable to determine the destination for anchor ({anchorHTML}). If not used as a hyperlink, consider removing target=_blank."
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more](https://web.dev/geolocation-on-start/)."
|
|
820
805
|
},
|
|
@@ -821,21 +821,6 @@
|
|
|
821
821
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
822
822
|
"message": "Avoids an excessive DOM size"
|
|
823
823
|
},
|
|
824
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
825
|
-
"message": "Failing Anchors"
|
|
826
|
-
},
|
|
827
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
828
|
-
"message": "Add `rel=\"noopener\"` or `rel=\"noreferrer\"` to any external links to improve performance and prevent security vulnerabilities. [Learn more](https://web.dev/external-anchors-use-rel-noopener/)."
|
|
829
|
-
},
|
|
830
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
831
|
-
"message": "Links to cross-origin destinations are unsafe"
|
|
832
|
-
},
|
|
833
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
834
|
-
"message": "Links to cross-origin destinations are safe"
|
|
835
|
-
},
|
|
836
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
837
|
-
"message": "Unable to determine the destination for anchor ({anchorHTML}). If not used as a hyperlink, consider removing target=_blank."
|
|
838
|
-
},
|
|
839
824
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
840
825
|
"message": "Users are mistrustful of or confused by sites that request their location without context. Consider tying the request to a user action instead. [Learn more](https://web.dev/geolocation-on-start/)."
|
|
841
826
|
},
|
|
@@ -2345,6 +2330,9 @@
|
|
|
2345
2330
|
"report/renderer/util.js | calculatorLink": {
|
|
2346
2331
|
"message": "See calculator."
|
|
2347
2332
|
},
|
|
2333
|
+
"report/renderer/util.js | collapseView": {
|
|
2334
|
+
"message": "Collapse view"
|
|
2335
|
+
},
|
|
2348
2336
|
"report/renderer/util.js | crcInitialNavigation": {
|
|
2349
2337
|
"message": "Initial Navigation"
|
|
2350
2338
|
},
|
|
@@ -2381,9 +2369,15 @@
|
|
|
2381
2369
|
"report/renderer/util.js | errorMissingAuditInfo": {
|
|
2382
2370
|
"message": "Report error: no audit information"
|
|
2383
2371
|
},
|
|
2372
|
+
"report/renderer/util.js | expandView": {
|
|
2373
|
+
"message": "Expand view"
|
|
2374
|
+
},
|
|
2384
2375
|
"report/renderer/util.js | footerIssue": {
|
|
2385
2376
|
"message": "File an issue"
|
|
2386
2377
|
},
|
|
2378
|
+
"report/renderer/util.js | hide": {
|
|
2379
|
+
"message": "Hide"
|
|
2380
|
+
},
|
|
2387
2381
|
"report/renderer/util.js | labDataTitle": {
|
|
2388
2382
|
"message": "Lab Data"
|
|
2389
2383
|
},
|
|
@@ -2408,6 +2402,9 @@
|
|
|
2408
2402
|
"report/renderer/util.js | runtimeAnalysisWindow": {
|
|
2409
2403
|
"message": "Initial page load"
|
|
2410
2404
|
},
|
|
2405
|
+
"report/renderer/util.js | runtimeCustom": {
|
|
2406
|
+
"message": "Custom throttling"
|
|
2407
|
+
},
|
|
2411
2408
|
"report/renderer/util.js | runtimeDesktopEmulation": {
|
|
2412
2409
|
"message": "Emulated Desktop"
|
|
2413
2410
|
},
|
|
@@ -2441,9 +2438,15 @@
|
|
|
2441
2438
|
"report/renderer/util.js | runtimeSingleLoadTooltip": {
|
|
2442
2439
|
"message": "This data is taken from a single page load, as opposed to field data summarizing many sessions."
|
|
2443
2440
|
},
|
|
2441
|
+
"report/renderer/util.js | runtimeSlow4g": {
|
|
2442
|
+
"message": "Slow 4G throttling"
|
|
2443
|
+
},
|
|
2444
2444
|
"report/renderer/util.js | runtimeUnknown": {
|
|
2445
2445
|
"message": "Unknown"
|
|
2446
2446
|
},
|
|
2447
|
+
"report/renderer/util.js | show": {
|
|
2448
|
+
"message": "Show"
|
|
2449
|
+
},
|
|
2447
2450
|
"report/renderer/util.js | showRelevantAudits": {
|
|
2448
2451
|
"message": "Show audits relevant to:"
|
|
2449
2452
|
},
|
|
@@ -800,21 +800,6 @@
|
|
|
800
800
|
"lighthouse-core/audits/dobetterweb/dom-size.js | title": {
|
|
801
801
|
"message": "[Åvöîðš åñ éxçéššîvé ÐÖM šîžé one two three four five six]"
|
|
802
802
|
},
|
|
803
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | columnFailingAnchors": {
|
|
804
|
-
"message": "[Fåîļîñĝ Åñçĥöŕš one two]"
|
|
805
|
-
},
|
|
806
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | description": {
|
|
807
|
-
"message": "[Åðð ᐅ`rel=\"noopener\"`ᐊ öŕ ᐅ`rel=\"noreferrer\"`ᐊ ţö åñý éxţéŕñåļ ļîñķš ţö îmþŕövé þéŕƒöŕmåñçé åñð þŕévéñţ šéçûŕîţý vûļñéŕåбîļîţîéš. ᐅ[ᐊĻéåŕñ möŕéᐅ](https://web.dev/external-anchors-use-rel-noopener/)ᐊ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen]"
|
|
808
|
-
},
|
|
809
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | failureTitle": {
|
|
810
|
-
"message": "[Ļîñķš ţö çŕöšš-öŕîĝîñ ðéšţîñåţîöñš åŕé ûñšåƒé one two three four five six seven eight nine]"
|
|
811
|
-
},
|
|
812
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | title": {
|
|
813
|
-
"message": "[Ļîñķš ţö çŕöšš-öŕîĝîñ ðéšţîñåţîöñš åŕé šåƒé one two three four five six seven eight nine]"
|
|
814
|
-
},
|
|
815
|
-
"lighthouse-core/audits/dobetterweb/external-anchors-use-rel-noopener.js | warning": {
|
|
816
|
-
"message": "[Ûñåбļé ţö ðéţéŕmîñé ţĥé ðéšţîñåţîöñ ƒöŕ åñçĥöŕ (ᐅ{anchorHTML}ᐊ). ΃ ñöţ ûšéð åš å ĥýþéŕļîñķ, çöñšîðéŕ ŕémövîñĝ ţåŕĝéţ=_бļåñķ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen]"
|
|
817
|
-
},
|
|
818
803
|
"lighthouse-core/audits/dobetterweb/geolocation-on-start.js | description": {
|
|
819
804
|
"message": "[Ûšéŕš åŕé mîšţŕûšţƒûļ öƒ öŕ çöñƒûšéð бý šîţéš ţĥåţ ŕéqûéšţ ţĥéîŕ ļöçåţîöñ ŵîţĥöûţ çöñţéxţ. Çöñšîðéŕ ţýîñĝ ţĥé ŕéqûéšţ ţö å ûšéŕ åçţîöñ îñšţéåð. ᐅ[ᐊĻéåŕñ möŕéᐅ](https://web.dev/geolocation-on-start/)ᐊ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fifteen sixteen seventeen eighteen nineteen twenty twentyone twentytwo twentythree]"
|
|
820
805
|
},
|