<h1>Foo</h1>

<pre class=metadata>
Group: test
Shortname: foo
Level: 1
Status: LS
ED: http://example.com/foo
Abstract: Testing the various textual links.
Editor: Example Editor
Date: 1970-01-01
</pre>

<style>
:target {
	background: lime;
}
</style>

<h2 id=test>Test</h2>

Setting up the definitions:

<dfn property>property</dfn>,

<dfn descriptor for="@at-rule">descriptor</dfn>,

<dfn at-rule>@at-rule</dfn>,

<dfn type>&lt;type></dfn>,

<dfn function>function(foo)</dfn>,

<dfn value for="property" lt="value" id=property-value>value for property</dfn>,

<dfn value for="@at-rule/descriptor" lt="value" id=descriptor-value>value for descriptor</dfn>,

<dfn value for="@at-rule" lt="value" id=at-rule-value>value for @at-rule</dfn>,

<dfn value for="<type>" lt="value" id=type-value>value for &lt;type></dfn>,

<dfn value for="property" lt="property">value named "property"</dfn>,

<dfn value for="property">different-value</dfn>,

<dfn value for="property">!bang</dfn>,

<dfn value for="property">!!double-bang</dfn>,

<dfn interface>Interface</dfn>,

<dfn attribute for=Interface>attribute</dfn>,

<dfn method for=Interface>method()</dfn>,

<dfn dictionary>Dictionary</dfn>,

<dfn attribute for="Interface" lt="ambiguous-attr" id='interface-attr'>attribute for Interface</dfn>,

<dfn dict-member for="Dictionary" lt="ambiguous-attr" id='dict-attr'>attribute for Dictionary</dfn>

<dfn element>element</dfn>

<dfn element-attr for="element">attribute</dfn>

<dfn element>elements-can-have-dashes-too</dfn>

<dfn element-attr for="element">attribute-with-dashes-because-attributes-can-have-dashes</dfn>

<dfn attr-value for="element/attribute">value</dfn>

<dfn attr-value for="element/attribute">val with spaces</dfn>

<dfn attr-value for="elements-can-have-dashes-too/attribute-with-dashes-because-attributes-can-have-dashes">another value</dfn>

<dfn dfn>dfn</dfn>

<dfn abstract-op>AbstractOp</dfn>

Linking:

'property'

'/property'

'property!!property'

''property: foo''

'descriptor'

'@at-rule/descriptor'

''@at-rule''

<<type>>

<<'property'>>

<<'descriptor'>>

<<@at-rule>>

<<'@at-rule/descriptor'>>

<<function()>>

''property/value''

''descriptor/value''

''property!!value''

''@at-rule/descriptor/value''

''&lt;type>/value''

''different-value''

''!bang''

''!!double-bang''

<a value>!!double-bang</a>

<a>@at-rule</a>

<a>&lt;type></a>

<a>function()</a>

''function()''

{{Interface}}

{{attribute}}

{{Interface/attribute}}

{{method()}}

{{Interface/method()}}

{{Dictionary}}

{{Interface/ambiguous-attr}}

{{Dictionary/ambiguous-attr}}

{{ambiguous-attr!!attribute}}

{{ambiguous-attr!!dict-member}}

{{Interface/attribute}} {{Interface/attribute}}

'@at-rule/descriptor' '@at-rule/descriptor'

''property/value'' ''property/value''

<{element}>

<{element|&lt;element&gt;}>

<{element/attribute}>

<{element/attribute|&lt;element attribute=""&gt;}>

<{element/attribute-with-dashes-because-attributes-can-have-dashes}>

<{elements-can-have-dashes-too}>

<{element/attribute/value}>

<{element/attribute/value|-attr value-}>

<{element/attribute/val with spaces!!attr-value|&quot;val with spaces&quot;}>

<{elements-can-have-dashes-too/attribute-with-dashes-because-attributes-can-have-dashes/another value}>

[=dfn=]

[$AbstractOp$]

Escapes:

\'not-a-property'

\{{NotWebIDL}}

\<{notElement}>

\[=not dfn=]

\[$NotAbstract$]
