diff --git a/share/mrdocs/addons/generator/adoc/layouts/wrapper.adoc.hbs b/share/mrdocs/addons/generator/adoc/layouts/wrapper.adoc.hbs
index e46ae27839..2cb49def5f 100644
--- a/share/mrdocs/addons/generator/adoc/layouts/wrapper.adoc.hbs
+++ b/share/mrdocs/addons/generator/adoc/layouts/wrapper.adoc.hbs
@@ -3,7 +3,13 @@
{{#if @root.config.multipage }}
{{! Multipage documentation: symbol is available to the wrapper }}
[#{{{symbol.anchor}}}]
-= {{> symbol/qualified-name symbol }}
+{{!
+ This title qualified name does not include links as the Antora
+ UI is not able to render these links in the title.
+
+ Breadcrumbs are included in the symbol template as an alternative.
+}}
+= {{> symbol/qualified-name symbol nolink=true }}
{{else}}
{{! Single page documentation: symbol is not available to the wrapper }}
= Reference
diff --git a/share/mrdocs/addons/generator/adoc/partials/markup/a.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/markup/a.adoc.hbs
index 42acfaaad9..0e820a9d64 100644
--- a/share/mrdocs/addons/generator/adoc/partials/markup/a.adoc.hbs
+++ b/share/mrdocs/addons/generator/adoc/partials/markup/a.adoc.hbs
@@ -1 +1,14 @@
-{{#if (starts_with href "#")}}<<{{{href}}},{{> @partial-block }}>>{{else}}xref:{{{href}}}[{{> @partial-block }}]{{/if}}
\ No newline at end of file
+{{!
+ Do not relativize links as asciidoc does not support it.
+
+ https://gitlab.com/antora/antora/-/issues/428
+}}
+{{#if (starts_with href "#")~}}
+ <<{{{href}}},{{> @partial-block }}>>
+{{~else if (starts_with href "/")~}}
+ xref:{{{remove_prefix href "/"}}}[{{> @partial-block }}]
+{{~else if (starts_with href ".")~}}
+ xref:{{{href}}}[{{> @partial-block }}]
+{{~else~}}
+ {{{href}}}[{{> @partial-block }}]
+{{~/if~}}
\ No newline at end of file
diff --git a/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs b/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs
index ace550722c..4851f431c3 100644
--- a/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs
+++ b/share/mrdocs/addons/generator/adoc/partials/symbol.adoc.hbs
@@ -21,6 +21,18 @@
{{#if symbol.doc.brief}}
{{{symbol.doc.brief}}}
+{{/if}}
+{{! Breadcrumbs
+
+ The antora breadcrumbs do not work with the multipage documentation.
+
+ This includes symbol/qualified-name here as an alternative for users
+ to visit parent scopes.
+}}
+{{#if @root.config.multipage }}
+{{#> markup/code-block }}
+{{> symbol/qualified-name symbol }}
+{{/markup/code-block}}
{{/if}}
{{! Synopsis }}
{{#unless (eq symbol.kind "namespace")}}
@@ -69,7 +81,7 @@
{{#if symbol.doc.description}}
{{#> markup/dynamic-level-h }}Description{{/markup/dynamic-level-h}}
-{{symbol.doc.description}}
+{{{symbol.doc.description}}}
{{/if}}
{{! Using symbols }}
diff --git a/share/mrdocs/addons/generator/common/partials/symbol/detail/members-table-row.hbs b/share/mrdocs/addons/generator/common/partials/symbol/detail/members-table-row.hbs
index 472063a8c2..0626553d98 100644
--- a/share/mrdocs/addons/generator/common/partials/symbol/detail/members-table-row.hbs
+++ b/share/mrdocs/addons/generator/common/partials/symbol/detail/members-table-row.hbs
@@ -2,7 +2,7 @@
{{#>markup/tr~}}
{{#>markup/td}}
{{! Member name, linked to its documentation }}
-{{#>markup/a href=(relativize url)}}{{#>markup/code}}{{>symbol/name . nolink=true}}{{/markup/code}}{{/markup/a}} {{>symbol/special-function-suffix .}}
+{{#>markup/a href=url}}{{#>markup/code}}{{>symbol/name . nolink=true}}{{/markup/code}}{{/markup/a}} {{>symbol/special-function-suffix .}}
{{~/markup/td}}
{{#>markup/td}}
{{#if (ne kind "overloads")~}}
diff --git a/share/mrdocs/addons/generator/common/partials/symbol/name-info.hbs b/share/mrdocs/addons/generator/common/partials/symbol/name-info.hbs
index 2338e7c09a..05bfc57e9f 100644
--- a/share/mrdocs/addons/generator/common/partials/symbol/name-info.hbs
+++ b/share/mrdocs/addons/generator/common/partials/symbol/name-info.hbs
@@ -21,7 +21,7 @@
{{! Render the name of the symbol. ~}}
{{#if (and symbol.url (not nolink))~}}
{{! Link to the symbol's documentation. ~}}
- {{#>markup/a href=(relativize symbol.url)}}{{name}}{{/markup/a~}}
+ {{#>markup/a href=symbol.url}}{{name}}{{/markup/a~}}
{{else~}}
{{! No link, just the name. ~}}
{{name~}}
diff --git a/share/mrdocs/addons/generator/common/partials/symbol/name.hbs b/share/mrdocs/addons/generator/common/partials/symbol/name.hbs
index 47bd794d37..d2b7085cfc 100644
--- a/share/mrdocs/addons/generator/common/partials/symbol/name.hbs
+++ b/share/mrdocs/addons/generator/common/partials/symbol/name.hbs
@@ -24,7 +24,7 @@
{{else~}}
{{#if (and link.url (not nolink))~}}
{{! Symbol with URL: link to the symbol documentation ~}}
- {{#>markup/a href=(relativize link.url)}}{{name}}{{/markup/a~}}
+ {{#>markup/a href=link.url}}{{name}}{{/markup/a~}}
{{else~}}
{{! Symbol without URL: plain text ~}}
{{name~}}
diff --git a/share/mrdocs/addons/generator/common/partials/symbol/qualified-name.hbs b/share/mrdocs/addons/generator/common/partials/symbol/qualified-name.hbs
index bcddc1efb5..2d38e824e1 100644
--- a/share/mrdocs/addons/generator/common/partials/symbol/qualified-name.hbs
+++ b/share/mrdocs/addons/generator/common/partials/symbol/qualified-name.hbs
@@ -23,7 +23,7 @@
{{! General case: linked namespaces followed by the symbol name ~}}
{{#each (reverse namespace)~}}
{{#if name~}}
- {{>symbol/name . link=.}}::
+ {{>symbol/name . link=. nolink=../nolink}}::
{{~/if}}
{{~/each}}{{>symbol/name .}}
{{~else~}}
@@ -39,7 +39,7 @@
{{~else~}}
{{~#if symbol~}}
{{! Friend symbol: use the befriended symbol ~}}
- {{>symbol/qualified-name symbol~}}
+ {{>symbol/qualified-name symbol nolink=nolink ~}}
{{~else~}}
{{! Friend type: use the type name ~}}
{{~type.name~}}
diff --git a/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs b/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs
index 038b78d88f..7608f16ac4 100644
--- a/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs
+++ b/share/mrdocs/addons/generator/common/partials/symbol/signatures.hbs
@@ -23,7 +23,7 @@
{{> symbol/signature member link=member}}
{{/markup/code-block}}
-{{#> markup/span class="small" }}{{#> markup/a href=(relativize member.url) }}{{#>markup/em }}» more...{{/markup/em}}{{/markup/a}}{{/markup/span}}
+{{#> markup/span class="small" }}{{#> markup/a href=member.url }}{{#>markup/em }}» more...{{/markup/em}}{{/markup/a}}{{/markup/span}}
{{/each}}
{{/if}}
\ No newline at end of file
diff --git a/share/mrdocs/addons/generator/common/partials/template/arg.hbs b/share/mrdocs/addons/generator/common/partials/template/arg.hbs
index ddde8e75fd..f9ee7845d2 100644
--- a/share/mrdocs/addons/generator/common/partials/template/arg.hbs
+++ b/share/mrdocs/addons/generator/common/partials/template/arg.hbs
@@ -19,7 +19,7 @@
{{~value~}}
{{else if (eq kind "template")~}}
{{! TArg is another template: render the template head ~}}
- {{#if (and template (not nolink))}}{{#>markup/a href=(relativize template.url)}}{{name}}{{/markup/a}}{{else~}}{{name~}}{{/if~}}
+ {{#if (and template (not nolink))}}{{#>markup/a href=template.url}}{{name}}{{/markup/a}}{{else~}}{{name~}}{{/if~}}
{{/if~}}
{{~#if is-pack~}}
...
diff --git a/share/mrdocs/addons/generator/html/partials/markup/a.html.hbs b/share/mrdocs/addons/generator/html/partials/markup/a.html.hbs
index df91963e85..03626d5cab 100644
--- a/share/mrdocs/addons/generator/html/partials/markup/a.html.hbs
+++ b/share/mrdocs/addons/generator/html/partials/markup/a.html.hbs
@@ -1 +1 @@
-{{> @partial-block }}
\ No newline at end of file
+{{> @partial-block }}
\ No newline at end of file
diff --git a/test-files/golden-tests/brief-1.adoc b/test-files/golden-tests/brief-1.adoc
index 5072cca0e0..9f30b46300 100644
--- a/test-files/golden-tests/brief-1.adoc
+++ b/test-files/golden-tests/brief-1.adoc
@@ -61,12 +61,12 @@ f6();
=== Description
-pass:[
+
many lined
*bold*
what will
happen?
-]
+
diff --git a/test-files/golden-tests/enum.adoc b/test-files/golden-tests/enum.adoc
index 5b4573cb38..2a96b13731 100644
--- a/test-files/golden-tests/enum.adoc
+++ b/test-files/golden-tests/enum.adoc
@@ -57,9 +57,9 @@ e1 brief.
=== Description
-pass:[
+
E0 description.
-]
+
[#E0-e0]
== <<#E0,E0>>::e0
@@ -78,9 +78,9 @@ e0 = 1
=== Description
-pass:[
+
e0 description.
-]
+
[#E0-e1]
== <<#E0,E0>>::e1
@@ -99,9 +99,9 @@ e1
=== Description
-pass:[
+
e1 description.
-]
+
[#E1]
== E1
@@ -175,9 +175,9 @@ e5 brief.
=== Description
-pass:[
+
E2 description.
-]
+
[#E2-e4]
== <<#E2,E2>>::e4
@@ -196,9 +196,9 @@ e4
=== Description
-pass:[
+
e4 description.
-]
+
[#E2-e5]
== <<#E2,E2>>::e5
@@ -217,9 +217,9 @@ e5
=== Description
-pass:[
+
e5 description.
-]
+
[#E3]
== E3
diff --git a/test-files/golden-tests/ref.adoc b/test-files/golden-tests/ref.adoc
index 24629f844a..ad1b59f625 100644
--- a/test-files/golden-tests/ref.adoc
+++ b/test-files/golden-tests/ref.adoc
@@ -109,10 +109,10 @@ f1();
=== Description
-pass:[
+
See
xref:#f0[::f0]
-]
+
[#A-B]
== <<#A,A>>::B
@@ -145,13 +145,13 @@ struct B;
=== Description
-pass:[
+
See
xref:#A-f1[A::f1]
See
xref:#A-f1[::A::f1]
-]
+
[#A-B-f2]
== <<#A,A>>::<<#A-B,B>>::f2
@@ -286,13 +286,13 @@ struct E;
=== Description
-pass:[
+
See
xref:#A-D-f4[f4]
See
xref:#A-C-f4[C::f4]
-]
+
[#f5]
== f5
@@ -313,10 +313,10 @@ f5();
=== Description
-pass:[
+
See
xref:#A-f1[::A::f1]
-]
+
[#F]
== F
@@ -942,7 +942,7 @@ f6();
=== Description
-pass:[
+
See
xref:#F-operator_comma[F::operator,]
@@ -1056,7 +1056,7 @@ xref:#F-operator_not[F::operator!]
See
xref:#F-operator_not_eq[F::operator!=]
-]
+