/**
* @license
* Copyright 2017 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import {Audit} from '../audit.js';
import UrlUtils from '../../lib/url-utils.js';
import * as i18n from '../../lib/i18n/i18n.js';
const BLOCKLIST = new Set([
// English
'click here',
'click this',
'go',
'here',
'information',
'learn more',
'more',
'more info',
'more information',
'right here',
'read more',
'see more',
'start',
'this',
// Japanese
'ここをクリック',
'こちらをクリック',
'リンク',
'続きを読む',
'続く',
'全文表示',
// Spanish
'click aquí',
'click aqui',
'clicka aquí',
'clicka aqui',
'pincha aquí',
'pincha aqui',
'aquí',
'aqui',
'más',
'mas',
'más información',
'más informacion',
'mas información',
'mas informacion',
'este',
'enlace',
'este enlace',
'empezar',
// Portuguese
'clique aqui',
'ir',
'mais informação',
'mais informações',
'mais',
'veja mais',
// Korean
'여기',
'여기를 클릭',
'클릭',
'링크',
'자세히',
'자세히 보기',
'계속',
'이동',
'전체 보기',
// Swedish
'här',
'klicka här',
'läs mer',
'mer',
'mer info',
'mer information',
// Tamil
'அடுத்த பக்கம்',
'மறுபக்கம்',
'முந்தைய பக்கம்',
'முன்பக்கம்',
'மேலும் அறிக',
'மேலும் தகவலுக்கு',
'மேலும் தரவுகளுக்கு',
'தயவுசெய்து இங்கே அழுத்தவும்',
'இங்கே கிளிக் செய்யவும்',
]);
const UIStrings = {
/** Title of a Lighthouse audit that tests if each link on a page contains a sufficient description of what a user will find when they click it. Generic, non-descriptive text like "click here" doesn't give an indication of what the link leads to. This descriptive title is shown when all links on the page have sufficient textual descriptions. */
title: 'Links have descriptive text',
/** Title of a Lighthouse audit that tests if each link on a page contains a sufficient description of what a user will find when they click it. Generic, non-descriptive text like "click here" doesn't give an indication of what the link leads to. This descriptive title is shown when one or more links on the page contain generic, non-descriptive text. */
failureTitle: 'Links do not have descriptive text',
/** Description of a Lighthouse audit that tells the user *why* they need to have descriptive text on the links in their page. This is displayed after a user expands the section to see more. No character length limits. The last sentence starting with 'Learn' becomes link text to additional documentation. */
description: 'Descriptive link text helps search engines understand your content. ' +
'[Learn how to make links more accessible](https://developer.chrome.com/docs/lighthouse/seo/link-text/).',
/** [ICU Syntax] Label for the audit identifying the number of links found. "link" here refers to the links in a web page to other web pages. */
displayValue: `{itemCount, plural,
=1 {1 link found}
other {# links found}
}`,
};
const str_ = i18n.createIcuMessageFn(import.meta.url, UIStrings);
class LinkText extends Audit {
/**
* @return {LH.Audit.Meta}
*/
static get meta() {
return {
id: 'link-text',
title: str_(UIStrings.title),
failureTitle: str_(UIStrings.failureTitle),
description: str_(UIStrings.description),
requiredArtifacts: ['URL', 'AnchorElements'],
};
}
/**
* @param {LH.Artifacts} artifacts
* @return {LH.Audit.Product}
*/
static audit(artifacts) {
const failingLinks = artifacts.AnchorElements
.filter(link => link.href !link.rel.includes('nofollow'))
.filter(link => {
const href = link.href.toLowerCase();
if (
href.startsWith('javascript:') ||
href.startsWith('mailto:') ||
// This line prevents the audit from flagging anchor links.
// In this case it is better to use `finalDisplayedUrl` than `mainDocumentUrl`.
UrlUtils.equalWithExcludedFragments(link.href, artifacts.URL.finalDisplayedUrl)
) {
return false;
}
return BLOCKLIST.has(link.text.trim().toLowerCase());
})
.map(link => {
return {
href: link.href,
text: link.text.trim(),
};
});
/** @type {LH.Audit.Details.Table['headings']} */
const headings = [
{key: 'href', valueType: 'url', label: 'Link destination'},
{key: 'text', valueType: 'text', label: 'Link Text'},
];
const details = Audit.makeTableDetails(headings, failingLinks);
let displayValue;
if (failingLinks.length) {
displayValue = str_(UIStrings.displayValue, {itemCount: failingLinks.length});
}
return {
score: Number(failingLinks.length === 0),
details,
displayValue,
};
}
}
export default LinkText;
export {UIStrings};
Aurora Ava Is For Food Recipes Articles you can find healthy food, Get closer to healthy living with the help of expert advice on weight loss, Beauty Tips, pregnancy and baby care, personal care, relationships, healthy diet and home remedies, health depends, good health,
mental health, physical environment, mental and social, united states,
Healthy Food Tips for Everyday Wellness Eating a balanced and nutritious diet can feel overwhelming, especially when there are so many options available. However, with a few simple tips and guidelines, incorporating healthy food into your daily routine can be an enjoyable experience that promotes overall wellness and vitality. Key Takeaways: Healthy food choices are essential for overall wellbeing and vitality. A balanced diet includes a variety of nutrient-rich foods. Portion control is vital when it comes to maintaining a healthy diet. Regularly incorporating healthy foods into your diet can lead to long-term health benefits. There are many convenient resources available to help find healthy food options. Importance of Food in Maintaining Wellbeing Food is not just a source of fuel for the human body; it is one of the most critical factors that determine our overall wellbeing. Eating a balanced and healthy diet is essential for maintaining good phys...
Get link
Facebook
X
Pinterest
Email
Other Apps
Advance Auto Parts: Best car performance upgrades for budget
Get link
Facebook
X
Pinterest
Email
Other Apps
Advance Auto Parts
Advance Auto Parts: Your Essential Pit Stop for a Purrfectly Running Ride (Beyond the Wrench)e, Advance Auto Parts isn't just your average auto parts store. It's a haven for DIY enthusiasts, repair rookies, and gearheads alike. Dive into our 2500-word guide and discover why Advance Auto is the secret sauce to keeping your car humming (and looking good) – no matter your skill level.
Fueling DIY Dreams:
From Wrench Newbies to Garage Gurus: Conquer car care with expert guidance, trusted parts, and tools that turn anxiety into accomplishment.
The Pro's Playground:
Unleash Your Inner Mechanic: Find top-tier brands and professional-grade equipment to transform your garage into a performance powerhouse.
More Than Just Parts:
Personalize Your Ride, Inside and Out: Discover accessories, cleaning supplies, and performance upgrades to unleash your car's inner beast (or just make it super comfy).
Your Budget's Best Friend:
Savvy Savings That Keep You in the Fast Lane: Unlock coupons, rebates, and exclusive deals to fuel your repairs without emptying your wallet.
Community Counts:
Sharing Secrets and Sharing the Road: Connect with fellow car enthusiasts, get expert advice, and share DIY tips to make the journey even smoother.
H3s:
Under the Hood Essentials:
Spark the Change: Finding the Perfect Ignition Solution: From humble plugs to high-performance coils, choose the right spark to ignite your engine's passion.
Oil Change Odyssey: From Conventional to Synthetic - Navigating the Lube Labyrinth: Dive into the world of motor oil, decipher the viscosity codes, and discover the perfect lubricant to keep your engine singing.
Filter Frenzy: Air, Oil, Cabin – Keeping Your Ride Clean and Breathing Easy: Conquer dust, pollen, and engine gunk with the right filters to protect your lungs and your engine's health.
Brake the Cycle of Worry: Stopping Power You Can Trust: From pads and rotors to calipers and fluids, ensure your brakes bite hard and keep you safe on every stop.
Performance Upgrades and Personalized Touches:
Horsepower Hungry? Unleash Your Inner Racer: Explore air intakes, exhaust systems, and tuning options to unlock hidden power and transform your daily commute into a thrill ride.
Shine Like a Diamond: Making Your Car the Envy of the Road: Discover waxes, polishes, and ceramic coatings to make your paintwork gleam and turn heads at every intersection.
Interior Nirvana: From Floor Mats to Seat Covers - Creating a Comfort Zone: Spruce up your cabin with stylish accessories, organizers, and cleaning products to make every drive feel like a spa day.
Tech Savvy Toolbox: Diagnosing Woes with the Power of Gadgets: Get to the root of car troubles with OBD-II scanners, multimeters, and other diagnostic tools – no mechanic degree required.
Community, Savings, and More:
Ask the Gurus: Getting Expert Advice at No Cost: Don't let car troubles leave you stumped. Consult the friendly staff at Advance Auto or tap into their online resources for instant fixes and expert insights.
Shop Smart, Deliver Fast: Convenience Is Key: Order online for pickup at your local store or have parts delivered straight to your doorstep – no need to waste precious wrench-wielding time.
Rewards that Drive You: Fuel Your Future Projects: Earn points on every purchase and unlock exclusive member benefits like discounts, special offers, and early access to sales.
Local Heroes: The Unsung Mechanics in Your Neighborhood: Meet and support local mechanics and car clubs, learn from their expertise, and build a community of car-loving enthusiasts.
Beyond the Basic Guide:
Project Spotlight: From Rusty Relic to Road Rocket: Follow real-life car transformations, from routine maintenance to jaw-dropping restorations, and get inspired to tackle your own automotive dreams.
Ultimate Road Trip Essentials: Gearing Up for Adventure: Discover must-have parts, tools, and safety tips to prepare your car for epic journeys and conquer any open road with confidence.
Car Clinic Q&A: Live Sessions with the Masters: Join live or online sessions where expert mechanics answer your burning car care questions in real-time – no topic is off-limits!
Remember: Advance Auto Parts is more than just a store; it's a community of car enthusiasts, problem solvers, and dreamers. With this guide, you have the roadmap to conquer car care, personalize your ride, and join the thriving community that keeps the engines of life humming. So, grab your wrench, unleash your inner car guru, and let Advance Auto Parts be your pit stop for a purrfectly running ride!
Navigating the Road Less Traveled: Demystifying Auto Insurance for the Uninitiated, Are you a new driver navigating the confusing world of auto insurance? Fear not! This guide unravels the mysteries of coverage types, deductibles, premiums, and more, empowering you to make informed decisions and hit the road with confidence. So, you've got your hands on a set of wheels and the open road beckons. But before you embark on your first adventure, there's one crucial pit stop you can't skip: auto insurance. It might sound like jargon-filled legalese, but understanding auto insurance is key to protecting yourself and your precious ride. Mapping Your Needs: The Coverage Landscape Auto insurance isn't a one-size-fits-all deal. It's about tailoring coverage to your specific needs and driving habits. Here's a breakdown of the main types: Liability Coverage : This legal must-have protects you if you cause an accident and injure someone or damage their property. Collision...
Unleashing the Power of Healthy Food delicious nutritious recipes: Your Guide to a Vibrant and Nourishing Life, Embark on a journey towards optimal health and well-being with this comprehensive guide to healthy food! Discover the secrets of nutrient-dense meals, explore diverse dietary plans, and unlock a world of vibrant flavors that nourish your body and soul. Why Choose Healthy Food? Building a Foundation for Optimal Health Enhanced Energy Levels : Nutrient-rich foods provide your body with the fuel it needs to function optimally, leading to increased energy levels and improved physical performance. Bolstered Immune System : Healthy foods are packed with essential vitamins and minerals that strengthen your immune system, making you more resistant to illness and disease. Improved Mental Clarity and Focus : Balanced eating can sharpen cognitive function, enhance focus, and lead to better mental clarity and improved mood. Reduced Risk of Chronic Diseases : A healthy diet plays ...
Potential of Your Water Bottle: Your Guide to Hydration and Sustainability, Discover the power of staying hydrated with this comprehensive guide to water bottles! Explore diverse bottle options, understand the importance of hydration, and embrace sustainable practices for a healthier planet. Why Choose a Reusable Water Bottle? The Power of Hydration for Overall Well-being Optimal Physical Performance: Staying hydrated regulates body temperature, lubricates joints, and delivers nutrients to cells, supporting peak physical performance. Improved Cognitive Function: Hydration enhances focus, memory, and concentration, leading to better cognitive function and mental clarity. Enhanced Energy Levels: Proper hydration helps prevent fatigue and improves energy levels, allowing you to tackle your day with vitality. Boosted Immune System: Drinking enough water supports a strong immune system, making you more resistant to illness and disease. Promoted Weight Management...
Comments