The template {{Visible anchor}} inserts one or more HTML anchors in a page. Those locations can then be linked to using [[#link|...]] syntax. Unlike {{Anchor}}, the first parameter will be visible text on the page.

Usage edit

{{visible anchor|anchor 1|anchor 2|text=display text|lang=language code}}

The template can be used with up to 10 anchor names. Anchor names are case sensitive, so {{Visible anchor|Anchor name 1}} and {{Visible anchor|Anchor Name 1}} are not equivalent. When making an anchor, in general capitalize the first letter of the anchor name, and follow the same capitalization guidelines as headers (see Manual of Style: Headers for more information). An optional |text= parameter can be added in order to specify the text to display in the anchor. By default, the value of the first parameter is used. A second optional |lang= parameter can be added to mark up the resulting visible text with the specified ISO 639 language code or IETF language tag (such as used by {{lang}}). The redirect {{vanchor}} can also be used.

Linking to anchors edit

Link to an anchor in the same article using just the anchor name, e.g. [[#Anchor name]]. (In the Visual Editor, type #Anchor name into the link field.)

From a different article, link to an anchor by specifying the article name, followed by a #, then the anchor name. e.g. [[Article name#Anchor name]].

The # will be visible in the link text. To prevent this, give the link a display title in the typical manner: After a pipe character (|) in the wikitext ([[#Anchor name|Anchor name]]), or by editing the text of the link in the Visual Editor.

Destination highlighting edit

When a link to an anchor is followed, the destination anchor's visible text will typically be highlighted with a shaded background. (May vary based on the reader's browser or selected wiki skin.) For example:

This text anchor will be highlighted after following this link which targets it.

Specifying a language edit

To aid screen readers and other assistive technologies properly identify text in foreign languages or dialects, an ISO 639-1 language code or IETF language tag can be given with the |lang= parameter to add the language code as an attribute to the HTML of the displayed text. Note that unlike the {{lang}} template, no italicization or text formatting is applied to the text.

Examples edit

Code Result Link
{{vanchor|Foo}} Foo #Foo
{{vanchor|Bar|Baz}} Bar #Bar, #Baz
{{vanchor|Qux|text=Display text}} Display text #Qux
{{vanchor|Corge|Grault|lang=en-US}} Corge #Corge, #Grault

Limitations edit

Character Code Template Meaning
" "
"
quotation mark
# # hash
| | {{!}} pipe
= = {{=}} equals
  • This template should not be used within section headings. Doing so will result in broken links in edit summaries, as well as possible duplicate anchors (see below).
  • Anchor names should be unique on a page, and should not duplicate any heading titles. Duplicate anchors won't work as expected since the #links go to the first anchor with that name. Duplicate anchors also result in invalid HTML; you can check for duplicate anchors by running the page through the W3C Markup Validation Service.
  • Anchor names that contain any character shown in the table on the right will not work as expected. However, any of these characters can be replaced with the "&#" codes shown for them here. Or, the pipe symbol and equals sign can be worked around with {{!}} and {{=}}, respectively. Markup code such as <sup> and <sub> (superscript and subscript) cannot be used. Most other characters, including white space and punctuation, are not a problem.
  • The template can create a maximum of 10 anchors. Specifying more than 10 anchors will result in an error message.
  • If positional parameters (parameters without specifying 1=, 2=, etc.) are used, whitespace and newlines will be preserved. If you instead specify the name of the parameters (e.g. |1=) whitespace and newlines will be trimmed.

TemplateData edit

This is the TemplateData for this template used by TemplateWizard, VisualEditor and other tools. See a monthly parameter usage report for Template:Visible anchor in articles based on its TemplateData.

TemplateData for Visible anchor

The template {{Visible anchor}} inserts one or more HTML anchors in a page. Those locations can then be linked to using [[#link|...]] syntax. Unlike {{Anchor}}, the first parameter will be visible text on the page.

Template parameters

ParameterDescriptionTypeStatus
Anchor name, and text to display1

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting; you can put formatting in the "text" parameter instead.

Example
start-of-content
Stringrequired
Second anchor name2

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringsuggested
Third anchor name3

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Fourth anchor name4

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Fifth anchor name5

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Sixth anchor name6

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Seventh anchor name7

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Eighth anchor name8

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Ninth anchor name9

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Tenth anchor name10

This will become an anchor. The characters ", #, | and = must be escaped; see the main template page for details. Do not try to use formatting.

Stringoptional
Display texttext

Overrides the display of parameter 1, but is not an anchor name. May be formatted.

Example
Properties of CO<sub>2</sub>
Contentsuggested
Language codelang

Applies the specified ISO 639 or IETF language tag as an attribute to the HTML of the displayed text. Useful for screen readers and other assistive technologies.

Example
en-US; fr; etc.
Lineoptional

See also edit