All rules

Link text that does not say where it goes

vague-link-texton by defaultJapanese / English

A link whose whole text is "here", "click here" or "read more"

Example

Flagged
For prices, click [here](https://example.com/pricing).
What chaff prints
1:19 The link text "here" does not say where it goes
Fixed
Prices are on the [pricing page](https://example.com/pricing).
What chaff prints
no finding

How to fix

Make the name of the target the link text ("click [here](…) for pricing" → "see the [pricing page](…)").

Why it matters

Link text such as "click here" or "read more" says nothing about where the link goes, so the reader has to reread the sentence around it. A screen reader can list the links on their own, and then hears "here, here, here" with no way to tell them apart (WCAG 2.4.4, link purpose). Only link text that is wholly a word from the lexicon (here, click here, read more, こちら) is reported; text that names the target ("the pricing page") is not.

What it does not flag

Link text that only contains such a word ("pricing here"), a bare or angle-bracket URL, and reference-style links ([here][1]) are not reported, nor are links in a quotation (>), in code, or in a document that is not Markdown.

Turning it off or relaxing it

Silence this one spot (in the document)
<!-- stet: vague-link-text — reason -->
Relax it for the team (the reason is kept as a comment in chaff.yaml)
npx chaffjs relax vague-link-text --why "reason"
Turn it off for the team (chaff.yaml)
rules: vague-link-text: off
Technical details
Layer
L1
Status
stable
Severity
warning
Languages
Japanese and English
Suited to
business, technical, blog, legal, docs, academic, literature, speech
Reads from the document
markdown

Levels

Set a level for this rule under rules in chaff.yaml. With nothing set, it runs at the level its genre gives it (see By genre below).

stricterror
normalwarning
relaxedinfo

This rule has no limit to count to. A level sets how a finding is marked: relaxed keeps the finding and marks it a step lower.

By genre

Runs by default in
technical/spec, technical/readme, blog/tech, blog/essay, blog/owned-media, business/proposal, business/report, business/email, business/press-release, business/meeting-notes, legal/contract, legal/statute, legal/judgment, legal/patent, docs/manual, docs/faq, docs/glossary, academic/paper, literature/fiction, literature/essay, literature/poetry, literature/play, speech/address, speech/transcript

Genres

Message

The link text "{text}" does not say where it goes

Rewrite depth (chaff fix-plan --depth): light — words and sentences; the structure and the voice stay

This page is built from the rule's definition file:packages/chaff/rules/vague-link-text.yaml