Skip to content

Commit 343ee5c

Browse files
Minor - Error pages: Update reference implementation and create documentation for new template (#2708)
1 parent 540ea11 commit 343ee5c

24 files changed

+740
-166
lines changed

_data/templates.json

Lines changed: 191 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -329,11 +329,11 @@
329329
},
330330
"title": {
331331
"en": "Campaign name",
332-
"fr": "Bêta - Message d'erreur serveur"
332+
"fr": "Nom de la campagne"
333333
},
334334
"description": {
335335
"en": "Campaign name templates samples",
336-
"fr": "Exemple de page d'erreur serveur."
336+
"fr": "Exemples de gabarits pour le nom de la campagne"
337337
},
338338
"modified": "2020-04-16",
339339
"componentName": "campaign",
@@ -1579,7 +1579,7 @@
15791579
}
15801580
,{
15811581
"@context": {
1582-
"@version": 1.1,
1582+
"@version": 2.0,
15831583
"dct": "http://purl.org/dc/terms/",
15841584
"title": { "@id": "dct:title", "@container": "@language" },
15851585
"description": { "@id": "dct:description", "@container": "@language" },
@@ -1590,36 +1590,35 @@
15901590
"fr": "Message d'erreur serveur"
15911591
},
15921592
"description": {
1593-
"en": "Error server page",
1593+
"en": "Example server error message page.",
15941594
"fr": "Exemple de page d'erreur serveur."
15951595
},
1596-
"modified": "2020-06-04",
1596+
"modified": "2025-12-09",
15971597
"componentName": "servermessage",
15981598
"status": "stable",
1599+
"version": "2.0",
15991600
"pages": {
16001601
"examples": [
16011602
{
1602-
"title": "We couldn't find that Web page (Error 404) - Canada.ca theme",
1603+
"title": "Page not found - Canada.ca",
16031604
"language": "en",
16041605
"path": "404-en.html"
16051606
},
16061607
{
1607-
"title": "Nous ne pouvons trouver cette page Web (Erreur 404) - Thème Canada.ca",
1608+
"title": "Page non trouvée - Canada.ca",
16081609
"language": "fr",
16091610
"path": "404-fr.html"
16101611
},
16111612
{
1612-
"title": "We couldn't find that Web page (Error 404) - Canada.ca theme / Nous ne pouvons trouver cette page Web (Erreur 404) - Thème Canada.ca",
1613+
"title": "Page not found - Canada.ca / Page non trouvée - Canada.ca",
16131614
"language": "en",
16141615
"path": "404-en-fr.html"
16151616
},
16161617
{
1617-
"title": "Nous ne pouvons trouver cette page Web (Erreur 404) - Thème Canada.ca / We couldn't find that Web page (Error 404) - Canada.ca theme",
1618+
"title": "Page non trouvée - Canada.ca / Page not found - Canada.ca",
16181619
"language": "fr",
16191620
"path": "404-fr-en.html"
16201621
},
1621-
1622-
16231622
{
16241623
"title": "Message title - Canada.ca theme",
16251624
"language": "en",
@@ -1640,8 +1639,188 @@
16401639
"language": "fr",
16411640
"path": "servermessage-fr-en.html"
16421641
}
1642+
],
1643+
"docs": [
1644+
{
1645+
"title": "Server error message",
1646+
"language": "en",
1647+
"path": "servermessage-doc-en.html"
1648+
},
1649+
{
1650+
"title": "Message d'erreur serveur",
1651+
"language": "fr",
1652+
"path": "servermessage-doc-fr.html"
1653+
}
16431654
]
1644-
}
1655+
},
1656+
"a11yGuidance": "No accessibility guidance.",
1657+
"variations": [
1658+
{
1659+
"name": {
1660+
"en": "Server error message",
1661+
"fr": "Message d'erreur serveur"
1662+
},
1663+
"status": "stable",
1664+
"description": {
1665+
"en": "Page template for server error messages.",
1666+
"fr": "Gabarit de page pour les messages d'erreur serveur."
1667+
},
1668+
"iteration": "_:iteration_servermessage_1",
1669+
"example": [
1670+
{
1671+
"en": { "href": "404-en.html", "text": "Page not found" },
1672+
"fr": { "href": "404-fr.html", "text": "Page non trouvée" }
1673+
},
1674+
{
1675+
"en": { "href": "404-en-fr.html", "text": "Page not found / Page non trouvée (Bilingual)" },
1676+
"fr": { "href": "404-fr-en.html", "text": "Page non trouvée / Page not found (Bilingue)" }
1677+
},
1678+
{
1679+
"en": { "href": "servermessage-en.html", "text": "Message title" },
1680+
"fr": { "href": "servermessage-fr.html", "text": "Titre du message" }
1681+
},
1682+
{
1683+
"en": { "href": "servermessage-en-fr.html", "text": "Message title / Titre du message (Bilingual)" },
1684+
"fr": { "href": "servermessage-fr-en.html", "text": "Titre du message / Message title (Bilingue)" }
1685+
}
1686+
],
1687+
"implementation": [
1688+
"_:implement_servermessage"
1689+
],
1690+
"history": [
1691+
{
1692+
"en": "December 2025 - Update the \"Page not found\" template.",
1693+
"fr": "Décembre 2025 - Mise à jour du gabarit de la \"Page non trouvée.\""
1694+
},
1695+
{
1696+
"en": "June 2020 - Initial implementaton of template.",
1697+
"fr": "Juin 2020 - Implémentation initiale du gabarit."
1698+
}
1699+
]
1700+
}
1701+
],
1702+
"implementation": [
1703+
{
1704+
"@id": "_:implement_servermessage",
1705+
"iteration": "_:iteration_servermessage_1",
1706+
"name": {
1707+
"en": "Standard",
1708+
"fr": "Standard"
1709+
},
1710+
"introduction": {
1711+
"en": "This implementation is meant for developers/publishers who are looking to configure the server error message page template. There are two versions of this template: a unilingual page for users whose language preference is known, and a bilingual page for users whose language preference is unknown.",
1712+
"fr": "Cette implémentation s'adresse aux développeurs/éditeurs qui souhaitent configurer le gabarit de la page de message d'erreur serveur. Il existe deux versions de ce gabarit : une page unilingue pour les utilisateurs dont la préférence linguistique est connue, et une page bilingue pour les utilisateurs dont la préférence linguistique est inconnue."
1713+
1714+
},
1715+
"instructions": {
1716+
"en": [
1717+
"The \"Page not found\" template should only be used when a user attempts to access a page that does not exist (i.e. a 404 error) and should include at least one rescue link (e.g. the Canada.ca homepage).",
1718+
"The bilingual \"Page not found\" page should limit the elements in the header and footer to only the Government of Canada signature with a link to the Canada.ca splash page and only the Canada wordmark in the footer.",
1719+
"The \"Message title\" template can be used to display other server error messages."
1720+
],
1721+
"fr": [
1722+
"Le gabarit « Page non trouvée » ne devrait être utilisé que lorsqu'un utilisateur tente d'accéder à une page qui n'existe pas (une erreur 404) et devrait inclure au moins un lien de secours (par ex: la page d'accueil de Canada.ca).",
1723+
"La page bilingue « Page non trouvée » devait limiter les éléments de l'en-tête et du pied de page à la signature du gouvernement du Canada avec un lien vers la page d'accueil de Canada.ca et au mot-symbole Canada dans le pied de page.",
1724+
"Le gabarit « Titre du message » peut être utilisé pour afficher d'autres messages d'erreur serveur."
1725+
]
1726+
},
1727+
"sample": {
1728+
"en": [
1729+
{
1730+
"@type": "source-code",
1731+
"description": "Page not found",
1732+
"code": {
1733+
"@type": [ "@id", "rdf:HTML" ],
1734+
"@value": "404-en.html main"
1735+
}
1736+
},
1737+
{
1738+
"@type": "source-code",
1739+
"description": "Page not found / Page non trouvée (Bilingual)",
1740+
"code": {
1741+
"@type": [ "@id", "rdf:HTML" ],
1742+
"@value": "404-en-fr.html main"
1743+
}
1744+
},
1745+
{
1746+
"@type": "source-code",
1747+
"description": "Message title",
1748+
"code": {
1749+
"@type": [ "@id", "rdf:HTML" ],
1750+
"@value": "servermessage-en.html main"
1751+
}
1752+
},
1753+
{
1754+
"@type": "source-code",
1755+
"description": "Message title / Titre du message (Bilingual)",
1756+
"code": {
1757+
"@type": [ "@id", "rdf:HTML" ],
1758+
"@value": "servermessage-en-fr.html main"
1759+
}
1760+
}
1761+
],
1762+
"fr": [
1763+
{
1764+
"@type": "source-code",
1765+
"description": "Page non trouvée",
1766+
"code": {
1767+
"@type": [ "@id", "rdf:HTML" ],
1768+
"@value": "404-fr.html main"
1769+
}
1770+
},
1771+
{
1772+
"@type": "source-code",
1773+
"description": "Page non trouvée / Page not found (Bilingue)",
1774+
"code": {
1775+
"@type": [ "@id", "rdf:HTML" ],
1776+
"@value": "404-en-fr.html main"
1777+
}
1778+
},
1779+
{
1780+
"@type": "source-code",
1781+
"description": "Titre du message",
1782+
"code": {
1783+
"@type": [ "@id", "rdf:HTML" ],
1784+
"@value": "servermessage-fr.html main"
1785+
}
1786+
},
1787+
{
1788+
"@type": "source-code",
1789+
"description": "Titre du message / Message title (Bilingue)",
1790+
"code": {
1791+
"@type": [ "@id", "rdf:HTML" ],
1792+
"@value": "servermessage-en-fr.html main"
1793+
}
1794+
}
1795+
]
1796+
}
1797+
}
1798+
],
1799+
"iteration": [
1800+
{
1801+
"@id": "_:iteration_servermessage_2",
1802+
"name": "Server error message - Iteration 2",
1803+
"date": "2025-12",
1804+
"detectableBy": "A red \"danger\" label with the error code, followed by the message text and and at least one helpful link (for 404 errors)."
1805+
},
1806+
{
1807+
"@id": "_:iteration_servermessage_1",
1808+
"name": "Server error message - Iteration 1",
1809+
"date": "2020-06",
1810+
"detectableBy": "A warning icon accompanied by a message text in the main content area."
1811+
}
1812+
],
1813+
"changesets": [
1814+
{
1815+
"@id": "_:cs_servermessage",
1816+
"name": "Server error message",
1817+
"status": "stable",
1818+
"detectableBy": "Danger label directly below H1 heading",
1819+
"layout": "Not applicable",
1820+
"semantic": "Not applicable",
1821+
"notes": "Not applicable"
1822+
}
1823+
]
16451824
}
16461825
,{
16471826
"@context": {

sites/header/includes/header.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
</div>
1212
</div>
1313
{% unless page.layout == "application" %}
14+
{% unless page.layout == "servermessage" and page.isBilingual %}
1415
<hr>
16+
{% endunless %}
1517
<div class="container">
1618
<div class="row">
1719
{%- unless page.nomenu -%}

sites/layouts/gcds.html

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,7 @@
2323
{% include header/gcds-header.html %}
2424
<main {% unless page.noContainer %}class="container"{% endunless %}
2525
property="mainContentOfPage" resource="#wb-main" typeof="WebPageElement">
26-
27-
<!-- Check if the page has a hard coded h1 title -->
28-
{% assign normalizedContent = content | downcase %}
29-
{% assign hasH1Title = false %}
30-
{% if normalizedContent contains 'id="wb-cont"' %}
31-
{% assign hasH1Title = true %}
32-
{% endif %}
33-
<!-- Unless the page has a hard coded h1 title, include the main page title. -->
34-
{% unless hasH1Title %}
35-
{% include main-page-title/main-page-title.html %}
36-
{% endunless %}
26+
{% include main-page-title/conditional-page-title.html %}
3727
{{ content }}
3828
{% include page-details/footer.html addContainer=page.noContainer %}
3929

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<!-- Check if the page has a hard coded h1 title -->
2+
{% assign normalizedContent = content | downcase %}
3+
{% assign hasH1Title = false %}
4+
{% if normalizedContent contains 'id="wb-cont"' %}
5+
{% assign hasH1Title = true %}
6+
{% endif %}
7+
<!-- Unless the page has a hard coded h1 title, include the main page title. -->
8+
{% unless hasH1Title %}
9+
{% include main-page-title/main-page-title.html %}
10+
{% endunless %}

sites/theme-srv.scss

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,3 @@
1313

1414
/* WET Core */
1515
@import "wet-boew/src/base/wet-boew";
16-
17-
/*
18-
Views
19-
*/
20-
21-
/* All screen views */
22-
@media screen {
23-
@import "servermessage/screen";
24-
}

sites/theme.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@
212212
@import "../templates/application/base";
213213
@import "../templates/institutional-landing/base";
214214
@import "../templates/theme/base";
215+
@import "../templates/servermessage/base";
215216

216217

217218
/*! Core - Utilities */

templates/campaign/index.json-ld

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
},
99
"title": {
1010
"en": "Campaign name",
11-
"fr": "Bêta - Message d'erreur serveur"
11+
"fr": "Nom de la campagne"
1212
},
1313
"description": {
1414
"en": "Campaign name templates samples",
15-
"fr": "Exemple de page d'erreur serveur."
15+
"fr": "Exemples de gabarits pour le nom de la campagne"
1616
},
1717
"modified": "2020-04-16",
1818
"componentName": "campaign",

0 commit comments

Comments
 (0)