diff --git a/Gruntfile.coffee b/Gruntfile.coffee index 70c6961beb..a052b39f61 100644 --- a/Gruntfile.coffee +++ b/Gruntfile.coffee @@ -85,6 +85,7 @@ module.exports = (grunt) -> "concat:components" "concat:templates" "concat:sites" + "concat:wet-boew" "clean:wetboew_demos" "copy:wetboew_demos" ] @@ -412,12 +413,16 @@ module.exports = (grunt) -> a11yReportByTestRequirement = {}; acrReportByConformity = {} - reportConf = grunt.file.readJSON( "_data/reporting.json" ) + reportConf = grunt.file.readJSON( this.data.reporting ) + dataSites = grunt.file.readJSON( this.data.sites ) + dataComponents = grunt.file.readJSON( this.data.components ) + dataCommons = grunt.file.readJSON( this.data.common ) + dataTemplates = grunt.file.readJSON( this.data.templates ) - a11yReportByComponent = processComponentReporting( grunt, "sites", this.data.sites, a11yReportByTestRequirement, acrReportByConformity, reportConf ) - a11yReportByComponent = a11yReportByComponent.concat( processComponentReporting( grunt, "components", this.data.components, a11yReportByTestRequirement, acrReportByConformity, reportConf ) ) - a11yReportByComponent = a11yReportByComponent.concat( processComponentReporting( grunt, "common", this.data.common, a11yReportByTestRequirement, acrReportByConformity, reportConf ) ) - a11yReportByComponent = a11yReportByComponent.concat( processComponentReporting( grunt, "templates", this.data.templates, a11yReportByTestRequirement, acrReportByConformity, reportConf ) ) + a11yReportByComponent = processComponentReporting( grunt, "sites", dataSites, a11yReportByTestRequirement, acrReportByConformity, reportConf ) + a11yReportByComponent = a11yReportByComponent.concat( processComponentReporting( grunt, "components", dataComponents, a11yReportByTestRequirement, acrReportByConformity, reportConf ) ) + a11yReportByComponent = a11yReportByComponent.concat( processComponentReporting( grunt, "common", dataCommons, a11yReportByTestRequirement, acrReportByConformity, reportConf ) ) + a11yReportByComponent = a11yReportByComponent.concat( processComponentReporting( grunt, "templates", dataTemplates, a11yReportByTestRequirement, acrReportByConformity, reportConf ) ) # @@ -523,10 +528,12 @@ module.exports = (grunt) -> "a11y-report": all: - sites: @file.readJSON "_data/sites.json" - components: @file.readJSON "_data/components.json" - templates: @file.readJSON "_data/templates.json" - common: @file.readJSON "_data/common.json" + # Read those genrated json file only at runtime of the task + sites: "_data/sites.json" + components: "_data/components.json" + templates: "_data/templates.json" + common: "_data/common.json" + reporting: "_data/reporting.json" clean: dist: [ "dist"] @@ -553,11 +560,11 @@ module.exports = (grunt) -> stripBanners: true banner: "<%= banner %>" src: [ - "{sites,common,components,templates}/**/*.js" - "!{sites,common,components,templates}/**/test.js" - "!{sites,common,components,templates}/**/assets" - "!{sites,common,components,templates}/**/demo" - "!{sites,common,components,templates}/**/demos" + "{sites,common,components,templates,wet-boew}/**/*.js" + "!{sites,common,components,templates,wet-boew}/**/test.js" + "!{sites,common,components,templates,wet-boew}/**/assets" + "!{sites,common,components,templates,wet-boew}/**/demo" + "!{sites,common,components,templates,wet-boew}/**/demos" ] dest: "<%= themeDist %>/js/theme.js" common: @@ -581,6 +588,13 @@ module.exports = (grunt) -> separator: "," src: "templates/**/index.json-ld" dest: "_data/templates.json" + "wet-boew": + options: + banner: "[" + footer: "]\n" + separator: "," + src: "wet-boew/**/index.json-ld" + dest: "_data/wet-boew.json" sites: options: banner: "[" @@ -709,14 +723,14 @@ module.exports = (grunt) -> layouts: expand: true flatten: true - src: "{sites,components,templates,docs}/**/layouts/**.*" + src: "{sites,components,templates,docs,wet-boew}/**/layouts/**.*" dest: "<%= jekyllDist %>/_layouts" includes: files: [ expand: true src: [ - "{sites,components,templates}/**/*-{includes,inc}/**.html" - "!{sites,components,templates}/**/includes/**.*" + "{sites,components,templates,wet-boew}/**/*-{includes,inc}/**.html" + "!{sites,components,templates,wet-boew}/**/includes/**.*" ] dest: "<%= jekyllDist %>/_includes" rename: (dest, src) -> @@ -727,21 +741,21 @@ module.exports = (grunt) -> , expand: true src: [ - "{sites,components,templates}/**/includes/**.*" + "{sites,components,templates,wet-boew}/**/includes/**.*" ] dest: "<%= jekyllDist %>/_includes" rename: (dest, src) -> dest + src.substring( src.indexOf('/') ).replace( '/includes/', '/' ) , expand: true - src: "{sites,components,templates}/*/include.html" + src: "{sites,components,templates,wet-boew}/*/include.html" dest: "<%= jekyllDist %>/_includes" rename: (dest, src) -> dest + "/" + src.replace( '/include.html', '.html' ) ] samples: expand: true - src: "{sites,common,components,templates}/**/samples/**.*" + src: "{sites,common,components,templates,wet-boew}/**/samples/**.*" dest: "_includes" rename: (dest, src) -> dest + "/" + src.replace( 'samples/', '' ) @@ -764,15 +778,15 @@ module.exports = (grunt) -> expand: true flatten: true src: [ - "{sites,common,components,templates}/**/fonts/**.*" + "{sites,common,components,templates,wet-boew}/**/fonts/**.*" "!**/*.scss" ] dest: "<%= themeDist %>/fonts" assets: expand: true src: [ - "{sites,common,components,templates}/**/assets/**.*" - "{sites,common,components,templates}/**/assets/**/*.*" + "{sites,common,components,templates,wet-boew}/**/assets/**.*" + "{sites,common,components,templates,wet-boew}/**/assets/**/*.*" ] dest: "<%= themeDist %>/assets" rename: (dest, src) -> @@ -787,7 +801,7 @@ module.exports = (grunt) -> depsJS_custom: expand: true flatten: true - src: "{sites,common,components,templates}/deps/**.js" + src: "{sites,common,components,templates,wet-boew}/deps/**.js" dest: "<%= themeDist %>/deps-js" depsJS: expand: true @@ -1051,13 +1065,13 @@ module.exports = (grunt) -> quiet: true all: src: [ - "{sites,common,components,templates}/**/*.js" + "{sites,common,components,templates,wet-boew}/**/*.js" ] jsonlint: all: src: [ - "{sites,common,components,templates}/**/*.json", - "{sites,common,components,templates}/**/*.json-ld" + "{sites,common,components,templates,wet-boew}/**/*.json", + "{sites,common,components,templates,wet-boew}/**/*.json-ld" ] options: { indent: "\t" @@ -1068,7 +1082,7 @@ module.exports = (grunt) -> all: expand: true src: [ - "{sites,common,components,templates}/**/*.scss" + "{sites,common,components,templates,wet-boew}/**/*.scss" "!*-jekyll.scss" "!node_modules" ] @@ -1088,7 +1102,7 @@ module.exports = (grunt) -> "Rakefile" # Folders - "{sites,common,components,templates}/**" + "{sites,common,components,templates,wet-boew}/**" # # Exemptions... @@ -1098,17 +1112,17 @@ module.exports = (grunt) -> "!Gemfile.lock" # Web contents - "!{sites,common,components,templates}/**/*.md" + "!{sites,common,components,templates,wet-boew}/**/*.md" # "{sites,components,templates}/*/*.{md,html}" # "{sites,components,templates}/*.{md, html}" # "!{sites,components,templates}/*/**/*.{md,html}" # Images - "!{sites,common,components,templates}/**/*.{jpg,png,ico}" - "!{sites,common,components,templates}/*.{ico,jpg,png}" + "!{sites,common,components,templates,wet-boew}/**/*.{jpg,png,ico}" + "!{sites,common,components,templates,wet-boew}/*.{ico,jpg,png}" # External fonts - "!{sites,common,components,templates}/**/*.{eot,svg,ttf,woff}" + "!{sites,common,components,templates,wet-boew}/**/*.{eot,svg,ttf,woff}" # Docker environment file # File that gets created/populated in a manner that goes against .editorconfig settings during the main Travis-CI build. diff --git a/_data/a11yComponents.json b/_data/a11yComponents.json index 6ec9c554a6..99e0a73d93 100644 --- a/_data/a11yComponents.json +++ b/_data/a11yComponents.json @@ -1 +1 @@ -[{"name":"Archived - template","a11y":[],"acr":[]},{"name":"Authentication","a11y":[],"acr":[]},{"name":"Breadcrumb trail","a11y":[],"acr":[]},{"name":"Feedback area","a11y":[],"acr":[]},{"name":"Footer","a11y":[{"allStates":["earl:passed","earl:inapplicable"],"date":"2022-12-02","isPartial":false,"testRequirementNotCovered":[],"state":"Pass","link":"sites/footers/reports/a11y-1.json"}],"acr":[]},{"name":"GCWeb Menu","a11y":[],"acr":[]},{"name":"Header","a11y":[],"acr":[]},{"name":"Helpers","a11y":[],"acr":[]},{"name":"Language toggle link","a11y":[],"acr":[]},{"name":"Page details","a11y":[],"acr":[]},{"name":"Skip links","a11y":[],"acr":[]},{"name":"Checkboxes and radio buttons","a11y":[],"acr":[]},{"name":"Download link","a11y":[],"acr":[]},{"name":"Featured link - Documentation and working example","a11y":[],"acr":[]},{"name":"Context-specific features","a11y":[{"allStates":["earl:untested","earl:inapplicable"],"date":"2023-06-30","isPartial":false,"testRequirementNotCovered":[],"state":"Mixed","link":"components/gc-features/reports/pre-a11y-1.json"},{"allStates":["earl:passed","earl:inapplicable"],"date":"2023-08-23","isPartial":false,"testRequirementNotCovered":[],"state":"Pass","link":"components/gc-features/reports/pre-a11y-2.json"}],"acr":[]},{"name":"Feeds plugin GC override","a11y":[],"acr":[]},{"name":"Most requested - Documentation and working example","a11y":[],"acr":[]},{"name":"Services and information","a11y":[],"acr":[]},{"name":"Subway map menu","a11y":[],"acr":[]},{"name":"GC tables","a11y":[],"acr":[]},{"name":"Table of Contents","a11y":[],"acr":[]},{"name":"Well header responsive","a11y":[],"acr":[]},{"name":"Other components","a11y":[],"acr":[]},{"name":"Labels","a11y":[],"acr":[]},{"name":"List - Additional style","a11y":[],"acr":[]},{"name":"Chat wizard","a11y":[],"acr":[]},{"name":"Data JSON","a11y":[],"acr":[]},{"name":"Do action","a11y":[],"acr":[]},{"name":"Fieldflow","a11y":[],"acr":[]},{"name":"JSON Manager","a11y":[],"acr":[]},{"name":"Datalist dynamic suggestion","a11y":[],"acr":[]},{"name":"URL Mapping","a11y":[],"acr":[]},{"name":"wb5-click postback converter","a11y":[],"acr":[]},{"name":"Well bold","a11y":[],"acr":[]},{"name":"Alert","a11y":[],"acr":[]},{"name":"Color (Foreground/Background)","a11y":[],"acr":[]},{"name":"List","a11y":[],"acr":[]},{"name":"Scaffolding","a11y":[],"acr":[]},{"name":"Tables","a11y":[],"acr":[]},{"name":"Advanced Service - Probably deprecated","a11y":[],"acr":[]},{"name":"Campaign name","a11y":[],"acr":[]},{"name":"Home","a11y":[],"acr":[]},{"name":"Other template","a11y":[],"acr":[]},{"name":"Index","a11y":[],"acr":[]},{"name":"Institutional profile","a11y":[],"acr":[]},{"name":"Laws and regulations pages","a11y":[],"acr":[]},{"name":"Local navigation","a11y":[],"acr":[]},{"name":"Ministerial profile","a11y":[],"acr":[]},{"name":"News","a11y":[],"acr":[]},{"name":"Organizational profile","a11y":[],"acr":[]},{"name":"Search results","a11y":[],"acr":[]},{"name":"Server error message","a11y":[],"acr":[]},{"name":"Splash page - Canada.ca","a11y":[],"acr":[]},{"name":"Thematic","a11y":[],"acr":[]},{"name":"Beta - Theme, Topic","a11y":[],"acr":[]},{"name":"Topic","a11y":[],"acr":[]}] \ No newline at end of file +[{"name":"Archived - template","a11y":[],"acr":[]},{"name":"Authentication","a11y":[],"acr":[]},{"name":"Breadcrumb trail","a11y":[],"acr":[]},{"name":"Feedback area","a11y":[],"acr":[]},{"name":"Footer","a11y":[{"allStates":["earl:passed","earl:inapplicable"],"date":"2022-12-02","isPartial":false,"testRequirementNotCovered":[],"state":"Pass","link":"sites/footers/reports/a11y-1.json"}],"acr":[]},{"name":"GCWeb Menu","a11y":[],"acr":[]},{"name":"Header","a11y":[],"acr":[]},{"name":"Helpers","a11y":[],"acr":[]},{"name":"Language toggle link","a11y":[],"acr":[]},{"name":"Page details","a11y":[],"acr":[]},{"name":"Secondary/Local menu","a11y":[],"acr":[]},{"name":"Skip links","a11y":[],"acr":[]},{"name":"Checkboxes and radio buttons","a11y":[],"acr":[]},{"name":"Download link","a11y":[],"acr":[]},{"name":"Featured link - Documentation and working example","a11y":[],"acr":[]},{"name":"Context-specific features","a11y":[{"allStates":["earl:untested","earl:inapplicable"],"date":"2023-06-30","isPartial":false,"testRequirementNotCovered":[],"state":"Mixed","link":"components/gc-features/reports/pre-a11y-1.json"},{"allStates":["earl:passed","earl:inapplicable"],"date":"2023-08-23","isPartial":false,"testRequirementNotCovered":[],"state":"Pass","link":"components/gc-features/reports/pre-a11y-2.json"}],"acr":[]},{"name":"Feeds plugin GC override","a11y":[],"acr":[]},{"name":"Most requested - Documentation and working example","a11y":[],"acr":[]},{"name":"Services and information","a11y":[],"acr":[]},{"name":"Step by Step navigation","a11y":[],"acr":[]},{"name":"Break up long and complex content into pages that each focus on a step or specific answer people need before moving to the next step or section.","a11y":[],"acr":[]},{"name":"GC tables","a11y":[],"acr":[]},{"name":"Table of Contents","a11y":[],"acr":[]},{"name":"Support use case for promotional page header or panel section header the width of the well header is readjusted based on the view port.","a11y":[],"acr":[]},{"name":"Other components","a11y":[],"acr":[]},{"name":"Labels","a11y":[],"acr":[]},{"name":"List - Additional style","a11y":[],"acr":[]},{"name":"Chat wizard","a11y":[],"acr":[]},{"name":"Data JSON","a11y":[],"acr":[]},{"name":"Do action","a11y":[],"acr":[]},{"name":"Fieldflow","a11y":[],"acr":[]},{"name":"JSON Manager","a11y":[],"acr":[]},{"name":"Datalist dynamic suggestion","a11y":[],"acr":[]},{"name":"URL Mapping","a11y":[],"acr":[]},{"name":"wb5-click postback converter","a11y":[],"acr":[]},{"name":"Well bold","a11y":[],"acr":[]},{"name":"Ajax Fetch","a11y":[],"acr":[]},{"name":"Alert","a11y":[],"acr":[]},{"name":"Alignment","a11y":[],"acr":[]},{"name":"Buttons","a11y":[],"acr":[]},{"name":"Color (Foreground/Background)","a11y":[],"acr":[]},{"name":"List","a11y":[],"acr":[]},{"name":"Scaffolding","a11y":[],"acr":[]},{"name":"Share widget","a11y":[{"allStates":["earl:passed","earl:inapplicable","earl:untested"],"date":"2023-07-06","isPartial":false,"testRequirementNotCovered":[],"state":"Mixed","link":"common/share/reports/pre-ally-1.json"}],"acr":[]},{"name":"Tables","a11y":[],"acr":[]},{"name":"Basic HTML","a11y":[],"acr":[]},{"name":"Advanced Service - Probably deprecated","a11y":[],"acr":[]},{"name":"Campaign name","a11y":[],"acr":[]},{"name":"Content page","a11y":[],"acr":[]},{"name":"Home","a11y":[],"acr":[]},{"name":"Other template","a11y":[],"acr":[]},{"name":"Index","a11y":[],"acr":[]},{"name":"Institutional profile","a11y":[],"acr":[]},{"name":"Laws and regulations pages","a11y":[],"acr":[]},{"name":"Lowest topic (with secondary navigation)","a11y":[],"acr":[]},{"name":"Ministerial profile","a11y":[],"acr":[]},{"name":"News","a11y":[],"acr":[]},{"name":"Organizational profile","a11y":[],"acr":[]},{"name":"Search results","a11y":[],"acr":[]},{"name":"Server error message","a11y":[],"acr":[]},{"name":"Splash page - Canada.ca","a11y":[],"acr":[]},{"name":"Thematic","a11y":[],"acr":[]},{"name":"Beta - Theme, Topic","a11y":[],"acr":[]},{"name":"Topic","a11y":[],"acr":[]}] \ No newline at end of file diff --git a/_data/a11yTestRequirement.json b/_data/a11yTestRequirement.json index a2fa676836..90b6479111 100644 --- a/_data/a11yTestRequirement.json +++ b/_data/a11yTestRequirement.json @@ -1 +1 @@ -{"allComponents":["footers","gc-features"],"list":[{"earl:test":"act:rules/automated/accessibility_insights_web","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"act:rules/automated/accessibility_insights_web"},{"earl:test":"WCAG21:non-text-content","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:non-text-content"},{"earl:test":"WCAG21:audio-only-and-video-only-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:audio-only-and-video-only-prerecorded"},{"earl:test":"WCAG21:captions-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:captions-prerecorded"},{"earl:test":"WCAG21:audio-description-or-media-alternative-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:audio-description-or-media-alternative-prerecorded"},{"earl:test":"WCAG21:captions-live","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:captions-live"},{"earl:test":"WCAG21:audio-description-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:audio-description-prerecorded"},{"earl:test":"WCAG21:info-and-relationships","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:info-and-relationships"},{"earl:test":"WCAG21:meaningful-sequence","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:meaningful-sequence"},{"earl:test":"WCAG21:sensory-characteristics","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:sensory-characteristics"},{"earl:test":"WCAG21:orientation","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:orientation"},{"earl:test":"WCAG21:identify-input-purpose","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:identify-input-purpose"},{"earl:test":"WCAG21:use-of-color","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:use-of-color"},{"earl:test":"WCAG21:audio-control","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:audio-control"},{"earl:test":"WCAG21:contrast-minimum","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:contrast-minimum"},{"earl:test":"WCAG21:resize-text","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:resize-text"},{"earl:test":"WCAG21:image-of-text","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:image-of-text"},{"earl:test":"WCAG21:reflow","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:reflow"},{"earl:test":"WCAG21:non-text-contrast","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:non-text-contrast"},{"earl:test":"WCAG21:text-spacing","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:text-spacing"},{"earl:test":"WCAG21:content-on-hover-or-focus","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:content-on-hover-or-focus"},{"earl:test":"WCAG21:keyboard","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:keyboard"},{"earl:test":"WCAG21:no-keyboard-trap","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:no-keyboard-trap"},{"earl:test":"WCAG21:character-key-shortcuts","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:character-key-shortcuts"},{"earl:test":"WCAG21:timing-adjustable","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:timing-adjustable"},{"earl:test":"WCAG21:pause-stop-hide","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:pause-stop-hide"},{"earl:test":"WCAG21:three-flashes-or-below-threshold","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:three-flashes-or-below-threshold"},{"earl:test":"WCAG21:bypass-blocks","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:bypass-blocks"},{"earl:test":"WCAG21:page-titled","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:page-titled"},{"earl:test":"WCAG21:focus-order","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:focus-order"},{"earl:test":"WCAG21:link-purpose-in-context","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:link-purpose-in-context"},{"earl:test":"WCAG21:multiple-ways","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:multiple-ways"},{"earl:test":"WCAG21:headings-and-labels","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:headings-and-labels"},{"earl:test":"WCAG21:focus-visible","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:focus-visible"},{"earl:test":"WCAG22:focus-appearance-minimum","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:focus-appearance-minimum"},{"earl:test":"WCAG22:page-break-navigation","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:page-break-navigation"},{"earl:test":"WCAG21:pointer-gestures","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:pointer-gestures"},{"earl:test":"WCAG21:pointer-cancellation","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:pointer-cancellation"},{"earl:test":"WCAG21:label-in-name","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:label-in-name"},{"earl:test":"WCAG21:motion-actuation","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:motion-actuation"},{"earl:test":"WCAG22:dragging-movements","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:dragging-movements"},{"earl:test":"WCAG22:target-size-minimum","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:target-size-minimum"},{"earl:test":"WCAG21:language-of-page","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:language-of-page"},{"earl:test":"WCAG21:language-of-parts","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:language-of-parts"},{"earl:test":"WCAG21:on-focus","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:on-focus"},{"earl:test":"WCAG21:on-input","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:on-input"},{"earl:test":"WCAG21:consistent-navigation","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:consistent-navigation"},{"earl:test":"WCAG21:consistent-identification","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:consistent-identification"},{"earl:test":"WCAG22:consistent-help","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:consistent-help"},{"earl:test":"WCAG22:visible-controls","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:visible-controls"},{"earl:test":"WCAG21:error-identification","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:error-identification"},{"earl:test":"WCAG21:labels-or-instructions","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:labels-or-instructions"},{"earl:test":"WCAG21:error-suggestion","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:error-suggestion"},{"earl:test":"WCAG21:error-prevention-legal-financial-data)","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:error-prevention-legal-financial-data)"},{"earl:test":"WCAG22:accessible-authentication","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:accessible-authentication"},{"earl:test":"WCAG22:redundant-entry","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:redundant-entry"},{"earl:test":"WCAG21:parsing","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:parsing"},{"earl:test":"WCAG21:name-role-value","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:name-role-value"},{"earl:test":"WCAG21:status-messages","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]}],"id":"WCAG21:status-messages"}]} \ No newline at end of file +{"allComponents":["footers","gc-features","share"],"list":[{"earl:test":"act:rules/automated/accessibility_insights_web","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"act:rules/automated/accessibility_insights_web"},{"earl:test":"WCAG21:non-text-content","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:non-text-content"},{"earl:test":"WCAG21:audio-only-and-video-only-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:audio-only-and-video-only-prerecorded"},{"earl:test":"WCAG21:captions-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:captions-prerecorded"},{"earl:test":"WCAG21:audio-description-or-media-alternative-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:audio-description-or-media-alternative-prerecorded"},{"earl:test":"WCAG21:captions-live","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:captions-live"},{"earl:test":"WCAG21:audio-description-prerecorded","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:audio-description-prerecorded"},{"earl:test":"WCAG21:info-and-relationships","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:info-and-relationships"},{"earl:test":"WCAG21:meaningful-sequence","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:meaningful-sequence"},{"earl:test":"WCAG21:sensory-characteristics","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:sensory-characteristics"},{"earl:test":"WCAG21:orientation","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:orientation"},{"earl:test":"WCAG21:identify-input-purpose","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:identify-input-purpose"},{"earl:test":"WCAG21:use-of-color","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:use-of-color"},{"earl:test":"WCAG21:audio-control","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:audio-control"},{"earl:test":"WCAG21:contrast-minimum","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:contrast-minimum"},{"earl:test":"WCAG21:resize-text","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:resize-text"},{"earl:test":"WCAG21:image-of-text","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:image-of-text"},{"earl:test":"WCAG21:reflow","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:reflow"},{"earl:test":"WCAG21:non-text-contrast","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:non-text-contrast"},{"earl:test":"WCAG21:text-spacing","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:text-spacing"},{"earl:test":"WCAG21:content-on-hover-or-focus","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":2,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:content-on-hover-or-focus"},{"earl:test":"WCAG21:keyboard","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:keyboard"},{"earl:test":"WCAG21:no-keyboard-trap","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:no-keyboard-trap"},{"earl:test":"WCAG21:character-key-shortcuts","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":4,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:character-key-shortcuts"},{"earl:test":"WCAG21:timing-adjustable","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:timing-adjustable"},{"earl:test":"WCAG21:pause-stop-hide","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":4,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:pause-stop-hide"},{"earl:test":"WCAG21:three-flashes-or-below-threshold","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:three-flashes-or-below-threshold"},{"earl:test":"WCAG21:bypass-blocks","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:bypass-blocks"},{"earl:test":"WCAG21:page-titled","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:page-titled"},{"earl:test":"WCAG21:focus-order","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:focus-order"},{"earl:test":"WCAG21:link-purpose-in-context","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:link-purpose-in-context"},{"earl:test":"WCAG21:multiple-ways","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":4,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:multiple-ways"},{"earl:test":"WCAG21:headings-and-labels","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:headings-and-labels"},{"earl:test":"WCAG21:focus-visible","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:focus-visible"},{"earl:test":"WCAG22:focus-appearance-minimum","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:focus-appearance-minimum"},{"earl:test":"WCAG22:page-break-navigation","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:page-break-navigation"},{"earl:test":"WCAG21:pointer-gestures","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:pointer-gestures"},{"earl:test":"WCAG21:pointer-cancellation","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:pointer-cancellation"},{"earl:test":"WCAG21:label-in-name","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:label-in-name"},{"earl:test":"WCAG21:motion-actuation","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:motion-actuation"},{"earl:test":"WCAG22:dragging-movements","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:dragging-movements"},{"earl:test":"WCAG22:target-size-minimum","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:target-size-minimum"},{"earl:test":"WCAG21:language-of-page","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:language-of-page"},{"earl:test":"WCAG21:language-of-parts","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:language-of-parts"},{"earl:test":"WCAG21:on-focus","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:on-focus"},{"earl:test":"WCAG21:on-input","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:on-input"},{"earl:test":"WCAG21:consistent-navigation","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":2,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:consistent-navigation"},{"earl:test":"WCAG21:consistent-identification","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:consistent-identification"},{"earl:test":"WCAG22:consistent-help","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:consistent-help"},{"earl:test":"WCAG22:visible-controls","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:visible-controls"},{"earl:test":"WCAG21:error-identification","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:error-identification"},{"earl:test":"WCAG21:labels-or-instructions","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:labels-or-instructions"},{"earl:test":"WCAG21:error-suggestion","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:error-suggestion"},{"earl:test":"WCAG21:error-prevention-legal-financial-data)","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:error-prevention-legal-financial-data)"},{"earl:test":"WCAG22:accessible-authentication","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:accessible-authentication"},{"earl:test":"WCAG22:redundant-entry","nbPassed":0,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:inapplicable","isApplicable":false,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]}],"id":"WCAG22:redundant-entry"},{"earl:test":"WCAG21:parsing","nbPassed":3,"nbFailed":0,"nbCantTell":0,"nbInapplicable":0,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:passed","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:parsing"},{"earl:test":"WCAG21:name-role-value","nbPassed":2,"nbFailed":0,"nbCantTell":0,"nbInapplicable":1,"nbUntested":1,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:untested","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:name-role-value"},{"earl:test":"WCAG21:status-messages","nbPassed":1,"nbFailed":0,"nbCantTell":0,"nbInapplicable":3,"nbUntested":0,"components":[{"name":"footers","a11y":[{"outcome":"earl:passed","isApplicable":true,"date":"2022-12-02","link":"sites/footers/reports/a11y-1.json"}]},{"name":"gc-features","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-06-30","link":"components/gc-features/reports/pre-a11y-1.json"},{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-08-23","link":"components/gc-features/reports/pre-a11y-2.json"}]},{"name":"share","a11y":[{"outcome":"earl:inapplicable","isApplicable":true,"date":"2023-07-06","link":"common/share/reports/pre-ally-1.json"}]}],"id":"WCAG21:status-messages"}]} \ No newline at end of file diff --git a/_data/common.json b/_data/common.json index e2d5112392..df04b0f556 100644 --- a/_data/common.json +++ b/_data/common.json @@ -1,4 +1,39 @@ [{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Ajax Fetch", + "fr": "Récupération de ressource via Ajax" + }, + "description": { + "en": "Fetch data using Ajax", + "fr": "Récupération de données via Ajax" + }, + "modified": "2023-08-25", + "componentName": "ajax-fetch", + "processing": "baseline", + "status": "stable", + "pages": { + "examples": [ + { + "title": "Ajax Fetch", + "language": "en", + "path": "ajax-fetch-en.html" + }, + { + "title": "Récupération de ressource via Ajax", + "language": "fr", + "path": "ajax-fetch-fr.html" + } + ] + } +} +,{ "@context": { "@version": 1.1, "dct": "http://purl.org/dc/terms/", @@ -68,6 +103,40 @@ ] } } +,{ + "@context": { + "@version": 2.0, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Buttons", + "fr": "Boutons" + }, + "description": { + "en": "Buttons page including working examples to test how various button styles appear and function", + "fr": "Page des boutons comprenant des exemples de travail pour tester l'apparence et le fonctionnement de divers styles de boutons." + }, + "modified": "2023-06-09", + "componentName": "button", + "status": "stable", + "pages": { + "examples": [ + { + "title": "Buttons", + "language": "en", + "path": "button-en.html" + }, + { + "title": "Boutons", + "language": "fr", + "path": "button-fr.html" + } + ] + } +} ,{ "@context": { "@version": 2.0, @@ -182,6 +251,64 @@ ] } } +,{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Share widget", + "fr": "Gadget de partage" + }, + "description": { + "en": "Facilitates sharing Web content on social media platforms.", + "fr": "Permet à l'utilisateur de partager un contenu Web sur les plateformes de médias sociaux." + }, + "modified": "2023-09-06", + "componentName": "share", + "status": "stable", + "pages": { + "examples": [ + { + "title": "Share widget", + "language": "en", + "url": "https://wet-boew.github.io/gcweb-compiled-demos/wetboew-demos/share/share-en.html" + }, + { + "title": "Gadget de partage", + "language": "fr", + "url": "https://wet-boew.github.io/gcweb-compiled-demos/wetboew-demos/share/share-fr.html" + } + ], + "docs": [ + { + "title": "Share widget", + "language": "en", + "url": "https://wet-boew.github.io/wet-boew/docs/ref/share/share-en.html" + }, + { + "title": "Gadget de partage", + "language": "fr", + "url": "https://wet-boew.github.io/wet-boew/docs/ref/share/share-fr.html" + } + ], + "reports": [ + { + "title": "Accessibility assessment #1 - Share widget", + "language": "en", + "path": "reports/ally-1-en.html" + }, + { + "title": "Assessment d'accessibilité #1 - Gadget de partage", + "language": "fr", + "path": "reports/ally-1-fr.html" + } + ] + } +} ,{ "@context": { "@version": 1.1, diff --git a/_data/components.json b/_data/components.json index 46441ecd35..d93d9ed4b0 100644 --- a/_data/components.json +++ b/_data/components.json @@ -11,10 +11,10 @@ "fr": "Cases à cocher et boutons radio" }, "description": { - "en": "Checkboxes and radio buttons designed based on user experience testing", - "fr": "Cases à cocher et boutons radio conçu d'après des recherches d'expérience utilisateur" + "en": "Display check boxes and radio buttons that are bigger than natively provided by browsers and in-line with the Canada.ca design system.", + "fr": "Affiche des cases à cocher et boutons radio plus grand que ce qui est nativement offert par les navigateurs et qui est conforme avec les configurations de conception de Canada.ca." }, - "modified": "2021-05-07", + "modified": "2023-09-06", "componentName": "gc-chckbxrdio", "status": "stable", "pages": { @@ -137,10 +137,10 @@ "fr": "Promotions contextuelles" }, "description": { - "en": "Context-specific features", - "fr": "Promotions contextuelles" + "en": "In-page components used to promote government activities, initiatives, programs and services.", + "fr": "Des composantes d’intérieur de page servant à promouvoir des activités, des initiatives, des programmes et des services pangouvernementaux." }, - "modified": "2022-10-21", + "modified": "2023-09-05", "componentName": "gc-features", "status": "stable", "pages": { @@ -263,10 +263,10 @@ "fr": "Services et information" }, "description": { - "en": "Services and information", - "fr": "Services et information" + "en": "Used to present sets of links with accompanying descriptions.", + "fr": "Utilisé pour présenter des ensembles de liens accompagnés de descriptions." }, - "modified": "2021-07-02", + "modified": "2023-09-06", "componentName": "gc-servinfo", "status": "stable", "pages": { @@ -305,14 +305,72 @@ "modified": "dct:modified" }, "title": { - "en": "Subway map menu", - "fr": "Menu par carte de métro" + "en": "Step by Step navigation", + "fr": "Navigation étape par étape" }, "description": { + "en": "Step by Step navigation designed based on user experience testing", + "fr": "Navigation étape par étape conçu d'après des recherches d'expérience utilisateur" + }, + "modified": "2023-06-28", + "componentName": "gc-stp-stp", + "status": "stable", + "pages": { + "docs": [ + { + "title": "Step by Step navigation", + "language": "en", + "path": "gc-stp-stp-doc-en.html" + }, + { + "title": "Navigation étape par étape", + "language": "fr", + "path": "gc-stp-stp-doc-fr.html" + } + ], + "examples": [ + { + "title": "Step by Step navigation", + "language": "en", + "path": "gc-stp-stp-en.html" + }, + { + "title": "Navigation étape par étape", + "language": "fr", + "path": "gc-stp-stp-fr.html" + } + ], + "spec": [ + { + "title": "Navigation étape par étape : Système de conception de Canada.ca", + "language": "fr", + "url": "https://conception.canada.ca/modeles-recommandes/pages-lancement-service.html" + }, + { + "title": "Step by Step navigation: Canada.ca design system", + "language": "en", + "url": "https://design.canada.ca/recommended-templates/service-initiation-pages.html" + } + ] + } +} +,{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { "en": "GC Subway map menu", "fr": "GC menu par carte de métro" }, - "modified": "2020-12-07", + "description": { + "en": "Break up long and complex content into pages that each focus on a step or specific answer people need before moving to the next step or section.", + "fr": "Diviser du contenu long et complexe en pages qui se concentrent chacune sur une étape ou une réponse spécifique dont les gens ont besoin avant de passer à l'étape ou à la section suivante." + }, + "modified": "2023-09-26", "componentName": "gc-subway", "status": "provisional", "todos": [ @@ -418,10 +476,10 @@ "fr": "Tableaux GC" }, "description": { - "en": "Simple responsive gc tables", - "fr": "Tableau simple responsive pour le GC" + "en": "A simple CSS solution to turn tables into responsive cards for smaller windows.", + "fr": "Une solution CSS simple pour transformer les tables en cartes réactives pour des fenêtres plus petites." }, - "modified": "2020-10-16", + "modified": "2023-09-05", "componentName": "gc-table", "status": "provisional", "todos": [ @@ -489,10 +547,10 @@ "fr": "Entête well responsive" }, "description": { - "en": "Context-specific features", - "fr": "Liste - Style additionel" + "en": "Support use case for promotional page header or panel section header the width of the well header is readjusted based on the view port.", + "fr": "Cas d'utilisation de prise en charge pour l'en-tête de page promotionnelle ou l'en-tête de section de panneau, la largeur de l'entête well responsive est réajustée en fonction de l'écran." }, - "modified": "2019-05-09", + "modified": "2023-09-06", "componentName": "header-rwd", "status": "stable", "pages": { diff --git "a/_data/m\303\251li-m\303\251lo.json" "b/_data/m\303\251li-m\303\251lo.json" index b8e34ed2f6..ffbb1570f4 100644 --- "a/_data/m\303\251li-m\303\251lo.json" +++ "b/_data/m\303\251li-m\303\251lo.json" @@ -6,13 +6,19 @@ "libs": [ "2022-09-svgimagemap", "2021-05-conjunction", - "2021-05-steps" + "2021-05-steps", + "2023-09-menu", + "2023-09-distance-calculator", + "2023-09-collection-sort" ] }, { "nom": "2024-09-kejimkujik", "libs": [ - "2021-05-conjunction" + "2021-05-conjunction", + "2023-09-menu", + "2023-09-distance-calculator", + "2023-09-collection-sort" ] }, { @@ -30,6 +36,14 @@ "mainpage": "index-fr.html", "état": "gelé" }, + { + "nom": "2023-09-distance-calculator", + "mainpage": "index.html" + }, + { + "nom": "2023-09-collection-sort", + "mainpage": "index.html" + }, { "nom": "2021-04-gcaem", "mainpage": "index.html", @@ -58,6 +72,10 @@ { "nom": "2022-09-svgimagemap", "mainpage": "bcmap.html" + }, + { + "nom": "2023-09-menu", + "mainpage": "index.html" } ], "future-packages-names": [ diff --git a/_data/sites.json b/_data/sites.json index 2bb48802b8..631151d5e1 100644 --- a/_data/sites.json +++ b/_data/sites.json @@ -151,10 +151,10 @@ "fr": "Fil d'Ariane" }, "description": { - "en": "Documentation on how to use breadcrumbs.", - "fr": "Documentation sur l'utilisation du fil d'arianne." + "en": "Indicates the location of the current page in relation to its parent in the site structure to reinforce a visitor’s current location in the Canada.ca user navigation model.", + "fr": "L’objectif du fil d'Ariane est de renforcer l’emplacement actuel des visiteurs dans le modèle de navigation de l’utilisateur du site Canada.ca." }, - "modified": "2021-02-12", + "modified": "2023-09-06", "componentName": "breadcrumbs", "status": "stable", "pages": { @@ -191,6 +191,7 @@ "modified": "2023-01-10", "componentName": "feedback", "status": "stable", + "version": "1.5", "pages": { "docs": [ { @@ -236,7 +237,1133 @@ "path": "report-problem-fr.html" } ] - } + }, + "dependencies": [ + "Page details" + ], + "a11yGuidance": "no accessibility guidance", + "variations": [ + { + "name": { + "en": "Page feedback tool (PFT) - default", + "fr": "Outil de rétroaction sur la page (ORP) - par défaut" + }, + "status": "stable", + "description": { + "en": "The Page feedback tool variation replaces the “Report a problem” pattern while actively collecting user feedback", + "fr": "La variante de l'Outil de rétroaction sur la page remplace le modèle « Signaler un problème » tout en collectant activement les commentaires des utilisateurs." + }, + "guidance": { + "en": "https://design.canada.ca/feedback/index.html", + "fr": "https://conception.canada.ca/retroaction/index.html" + }, + "iteration": "_:iteration_pft_1", + "example": [ + { + "en": { "href": "page-feedback-en.html", "text": "Page feedback tool" }, + "fr": { "href": "page-feedback-fr.html", "text": "Outil de rétroaction sur la page" } + } + ], + "implementation": [ + "_:implement_pft", + "_:implement_pft_gcweb", + "_:implement_pft_upgrade_rap", + "_:implement_pft_mws_author" + ], + "history": [ + { + "en": "August 2023 - Initial implementation of the variation.", + "fr": "Août 2023 - Implémentation initiale de la variante." + } + ] + }, + { + "name": { + "en": "Page feedback tool with contact link", + "fr": "Outil de rétroaction sur la page avec lien de contact" + }, + "status": "stable", + "description": { + "en": "The Page feedback tool with contact link variation replaces the “Report a problem” pattern while actively collecting user feedback", + "fr": "La variante de l'Outil de rétroaction sur la page avec lien de contact remplace le modèle « Signaler un problème » tout en collectant activement les commentaires des utilisateurs." + }, + "guidance": { + "en": "https://design.canada.ca/feedback/index.html", + "fr": "https://conception.canada.ca/retroaction/index.html" + }, + "iteration": "_:iteration_pft_1", + "example": [ + { + "en": { "href": "page-feedback-contact-en.html", "text": "Page feedback tool with contact link" }, + "fr": { "href": "page-feedback-contact-fr.html", "text": "Outil de rétroaction sur la page avec lien de contact" } + } + ], + "implementation": [ + "_:implement_pft_contact", + "_:implement_pft_contact_gcweb", + "_:implement_pft_upgrade_rap", + "_:implement_pft_mws_author" + ], + "history": [ + { + "en": "August 2023 - Initial implementation of the variation.", + "fr": "Août 2023 - Implémentation initiale de la variante." + } + ] + }, + { + "name": { + "en": "Report a problem (RAP)", + "fr": "Signaler un problème (SUP)" + }, + "status": "stable", + "description": { + "en": "The Report a problem variation features an expand/collapse button with a list of checkboxes.", + "fr": "La variation Signaler un problème comporte un bouton développer/réduire avec une liste de cases à cocher." + }, + "guidance": { + "en": "https://design.canada.ca/common-design-patterns/report-problem.html", + "fr": "https://conception.canada.ca/configurations-conception-communes/signaler-probleme.html" + }, + "iteration": "_:iteration_rap_5", + "example": [ + { + "en": { "href": "report-problem-en.html", "text": "Report a problem" }, + "fr": { "href": "report-problem-fr.html", "text": "Signaler un problème" } + } + ], + "implementation": [ + "_:implement_rap", + "_:implement_rap_aa", + "_:implement_rap_gcweb" + ], + "history": [ + { + "en": "August 2023 - Removed JSON Manager extraction for 'externalReferer' and 'subject'.", + "fr": "Août 2023 – Suppression de l’extraction via le Gestionnaire JSON pour « externalReferer » et « subject »." + }, + { + "en": "March 2023 - Leveraging JSON Manager Extractor and Data JSON to generate hidden input fields.", + "fr": "Mars 2023 - Utilise l'extracteur du Gestionnaire JSON et Data JSON pour générer des champs de saisie masqués." + }, + { + "en": "January 2023 - Removed login error sub-options and renamed login error option.", + "fr": "Janvier 2023 – Suppression des sous-options d’erreur de connexion et l'option d’erreur de connexion renommée." + }, + { + "en": "May 2022 - Rework of the template to use data-ajax. Includes fallback for basic HTML version.", + "fr": "Mai 2022 - Refonte du gabarit pour utiliser data-ajax. Inclut une solution de secours pour la version HTML simplifiée." + }, + { + "en": "March 2021 - Initial implementation of the component.", + "fr": "Mars 2021 - Implémentation initiale de la composante." + } + ] + } + ], + "implementation": [ + { + "@id": "_:implement_rap", + "iteration": "_:iteration_rap_5", + "name": { + "en": "Standard", + "fr": "Standard" + }, + "introduction": { + "en": "This implementation is meant for developers/publishers adding the component manually.", + "fr": "Cette implémentation est destinée aux développeurs/éditeurs qui ajoutent le composant manuellement." + }, + "instructions": { + "en": [ + "To show the Report a problem form, create a <div> with the following data attribute: data-ajax-replace=\"ajax/report-problem-en.html\".", + "For the basic HTML version, a link element should be created inside a <div> that points to the report a problem form page: <div><a class=\"btn btn-default btn-block\" href=\"https://www.canada.ca/en/report-problem.html\">Report a problem on this page</a></div>.", + "This variation leverages JSON Manager and Data JSON to get information about the page and generate hidden input fields in the form. Therefore, the tag <meta name=\"dcterms.creator\" content=\"[Department name]\"> needs to be present in the page." + ], + "fr": [ + "Pour afficher le formulaire de commentaires sur la page, créez un <div> avec l'attribut suivant : data-ajax-replace=\"ajax/report-problem-fr.html\".", + "Pour la version HTML de base, un lien doit être créé dans un <div> qui pointe vers la page du formulaire de signalement d'un problème : <div><a class=\"btn btn-default btn-block\" href=\"https://www.canada.ca/fr/signaler-probleme.html\">Signaler un problème sur cette page</a></div>.", + "Cette variante utilise JSON Manager et Data JSON pour obtenir des informations sur la page et générer des champs de saisie masqués dans le formulaire. La balise <meta name=\"dcterms.creator\" content=\"[Nom du service]\"> doit être présente dans la page." + ] + }, + "notes": { + "en": [ + "For more information about Data Ajax plugin, please visit Data Ajax documentation page." + ], + "fr": [ + "Pour plus d'informations sur le plugin Data Ajax, veuillez visiter la page de documentation Data Ajax." + ] + }, + "sample": { + "en": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "<div data-ajax-replace=\"ajax/report-problem-en.html\">\n\t<div class=\"row row-no-gutters\">\n\t\t<div class=\"col-sm-9 col-md-6 col-lg-5\">\n\t\t\t<a class=\"btn btn-default btn-block\" href=\"https://www.canada.ca/en/report-problem.html\">Report a problem on this page</a>\n\t\t</div>\n\t</div>\n</div>" + }, + { + "@type": "source-code", + "collapsed": true, + "description": "Ajaxed-in content", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "ajax/report-problem-en.html" + } + } + ], + "fr": [ + { + "@type": "source-code", + "description": "Exemple de code :", + "code": "<div data-ajax-replace=\"ajax/report-problem-en.html\">\n\t<div class=\"row row-no-gutters\">\n\t\t<div class=\"col-sm-9 col-md-6 col-lg-5\">\n\t\t\t<a class=\"btn btn-default btn-block\" href=\"https://www.canada.ca/fr/signaler-probleme.html">Signaler un problème sur cette page</a>\n\t\t</div>\n\t</div>\n</div>" + }, + { + "@type": "source-code", + "collapsed": true, + "description": "Contenu ajouté via Ajax :", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "ajax/report-problem-fr.html" + } + } + ] + } + }, + { + "@id": "_:implement_rap_aa", + "iteration": "_:iteration_rap_5", + "name": { + "en": "Adobe Analytics", + "fr": "Adobe Analytics" + }, + "introduction": { + "en": "This implementation is meant for analytics analysts trying to add analytics properties to the component.", + "fr": "Cette implémentation est destinée aux analystes en analytiques qui veulent ajouter des propriétés analytiques au composant." + }, + "instructions": { + "en": [ + "To implement Adobe Analytics in the Report a problem form, simply add the attribute data-gc-analytics-rap to every checkbox with the value being the same as the current language's <label>, followed by a dash and followed by the other language's <label>." + ], + "fr": [ + "Pour implémenter Adobe Analytics dans le formulaire Signaler un problème, ajoutez simplement l'attribut data-gc-analytics-rap à chaque case à cocher avec la valeur étant la même que le <label> de la langue actuelle, suivie d'un tiret et suivi par le <label> de l'autre langue." + ] + }, + "sample": { + "en": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "<div class=\"checkbox\">\n\t<label for=\"problem2\">\n\t\t<input name=\"problem2\" id=\"problem2\" type=\"checkbox\" value=\"Yes\" data-gc-analytics-rap=\"It has a spelling mistake-Il y a une erreur d'orthographe ou de grammaire\">It has a spelling mistake\n\t</label>\n\t<input name=\"problem2\" type=\"hidden\" value=\"\">\n</div>" + } + ], + "fr": [ + { + "@type": "source-code", + "description": "Exemple de code :", + "code": "<div class=\"checkbox\">\n\t<label for=\"problem2\">\n\t\t<input name=\"problem2\" id=\"problem2\" type=\"checkbox\" value=\"Yes\" data-gc-analytics-rap=\"Il y a une erreur d'orthographe ou de grammaire-It has a spelling mistake\">Il y a une erreur d'orthographe ou de grammaire\n\t</label>\n\t<input name=\"problem2\" type=\"hidden\" value=\"\">\n</div>" + } + ] + } + }, + { + "@id": "_:implement_rap_gcweb", + "iteration": "_:iteration_rap_5", + "name": { + "en": "GCWeb Jekyll", + "fr": "GCWeb Jekyll" + }, + "introduction": { + "en": "This implementation is meant for developers trying to implement this component within a GCWeb Jekyll site.", + "fr": "Cette implémentation est destinée aux développeurs essayant d'implémenter ce composant dans un site GCWeb Jekyll." + }, + "instructions": { + "en": [ + "In the page's front-matter do the following:" + ], + "fr": [ + "Dans l'en-tête de la page faites ce qui suit :
  • définissez la variable feedbackFallback à true
  • " + ] + }, + "sample": { + "en": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "\"feedback\": true, \n\"feedbackFallback\": true, \n\"feedbackPath\": \"ajax-report-problem-en.html\"" + } + ], + "fr": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "\"feedback\": true, \n\"feedbackFallback\": true, \n\"feedbackPath\": \"ajax-report-problem-fr.html\"" + } + ] + } + }, + { + "@id": "_:implement_pft", + "iteration": "_:iteration_pft_1", + "name": { + "en": "Standard (wet-boew)", + "fr": "Standard (wet-boew)" + }, + "introduction": { + "en": "This implementation is meant for developers/publishers adding the component manually with using the latest GCWeb version along with at least the implementation of the page details version 2.x.", + "fr": "Cette implémentation est destinée aux développeurs/éditeurs qui ajoutent le composant manuellement en utilisant une version récente de GCWeb avec l'implémentation de la version 2.x du détails de la page." + }, + "instructions": { + "en": [ + "Ensure the version of GCWeb v13.9.0 or earlier is implemented", + "Ensure the latest version of page details is implemented", + "To show the page feedback form, create a <div class=\"wb-disable-allow\"> with the following data attributes:", + "Additionally, your page needs to have the following metadata: <meta name=\"dcterms.creator\" content=\"[Department name]\">" + ], + "fr": [ + "Vérifier qu'une version récente de GCWeb (v13.9.0 ou plus récent) est implémenté", + "Vérifier que la version 2.1, ou plus récente, du détails de la page est implémenté", + "Pour afficher le formulaire de rétroaction sur la page, créez un <div class=\"wb-disable-allow\"> avec les attributs suivants :", + "De plus, vous pouvez définir les métadonnées suivantes : <meta name=\"dcterms.creator\" content=\"[Department name]\">" + ] + }, + "notes": { + "en": [ + "To upgrade from the RAP to the PFT, follow the instructions of the \"Upgrade from RAP\" tab.", + "For more information about Data Ajax plugin, please visit Data Ajax documentation page." + ], + "fr": [ + "Pour passer du SUP au ORP, suivez les instructions de l'onglet \"Mise à jour à partir de SUP\".", + "Pour plus d'informations sur le plugin Data Ajax, veuillez visiter la page de documentation Data Ajax." + ] + }, + "sample": { + "en": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "<div class=\"wb-disable-allow\" \ndata-ajax-replace=\"assets/page-feedback-en.html\" \ndata-feedback-section=\"[Text defining the section where your page resides]\" \ndata-feedback-theme=\"[Text defining the theme of your page]\"></div>" + }, + { + "@type": "source-code", + "collapsed": true, + "description": "Ajaxed-in content", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "assets/page-feedback-en.html" + } + } + ], + "fr": [ + { + "@type": "source-code", + "description": "Exemple de code :", + "code": "<div class=\"wb-disable-allow\" \ndata-ajax-replace=\"assets/page-feedback-fr.html\" \ndata-feedback-section=\"[Texte définissant la section où réside votre page]\" \ndata-feedback-theme=\"[Texte définissant le thème de votre page]\"></div>" + }, + { + "@type": "source-code", + "collapsed": true, + "description": "Contenu ajouté via Ajax :", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "assets/page-feedback-fr.html" + } + } + ] + } + }, + { + "@id": "_:implement_pft_gcweb", + "iteration": "_:iteration_pft_1", + "name": { + "en": "GCWeb Jekyll", + "fr": "GCWeb Jekyll" + }, + "introduction": { + "en": "This implementation is meant for developers trying to implement this component within a GCWeb Jekyll site. To apply this variant's optional attributes on any given page, you will need to do the following in the page's front-matter:", + "fr": "Cette implémentation est destinée aux développeurs essayant d'implémenter ce composant dans un site GCWeb Jekyll. Pour appliquer les attributs facultatifs de cette variante sur une page donnée, vous devrez procéder comme suit dans le front-matter de la page :" + }, + "instructions": { + "en": [ + "Set the variable feedback to true.", + "Set the variable feedbackData to an object containing the following customizable strings:" + ], + "fr": [ + "Définissez la variable feedback à true.", + "Définissez la variable feedbackData à un objet contenant les chaînes de caractères suivantes :" + ] + }, + "sample": { + "en": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "\"feedback\": true,\n\"feedbackData\": {\n\t\"theme\": \"Theme\",\n\t\"section\": \"Section\"\n}" + } + ], + "fr": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "\"feedback\": true,\n\"feedbackData\": {\n\t\"theme\": \"Thème\",\n\t\"section\": \"Section\"\n}" + } + ] + } + }, + { + "@id": "_:implement_pft_upgrade_rap", + "iteration": "_:iteration_pft_1", + "name": { + "en": "Upgrade from RAP", + "fr": "Mise à jour à partir de SUP" + }, + "introduction": { + "en": "This implementation is meant for implementers that want to migrate their current page build with RAP towards the new PFT.", + "fr": "Cette implémentation est destinée aux implémenteurs qui souhaitent migrer leur page actuelle avec SUP vers le nouvel ORP." + }, + "instructions": { + "en": [ + "Update the page details component to the version 2.1.", + "Follow the implementation instructions for the new PFT implementation." + ], + "fr": [ + "Mettez à jour le composant détails de page vers la version 2.1.", + "Suivez les instructions d'implémentation pour la nouvelle implémentation du ORP." + ] + } + }, + { + "@id": "_:implement_pft_mws_author", + "iteration": "_:iteration_pft_1", + "name": { + "en": "MWS users", + "fr": "Utilisateur SWG" + }, + "introduction": { + "en": "For users that are authoring web page on Canada.ca Managed Web Services.", + "fr": "Pour les utilisateurs qui font de l'édition de page web sur Canada.ca via le Service web géré." + }, + "instructions": { + "en": [ + "Read the design system guidance before to adding the page feedback tool on your pages.", + "If you are configuring the section, please follow the additional design system guidance.", + "You can configure the page feedback tool via the page properties by specifying the optional configuration (contact info and section). The value for the theme configuration are automatically set by the MWS.", + "For additional guidance on how to implements, you can consult the guide on GCPedia along with the other documentation for the managed web service." + ], + "fr": [ + "Veuillez lire les consignes du système de conception avant d'ajouter l'outil de rétroaction sur la page à vos pages.", + "Si vous configurez la section, veuillez suivre les consignes supplémentaires du système de conception.", + "Vous pouvez configurer l'outil de rétroaction sur la page via les propriétés de la page en spécifiant la configuration facultative (informations de contact et section). Les valeurs de la configuration du thème sont automatiquement définies par le SWG.", + "Pour des conseils supplémentaires sur la mise en œuvre, vous pouvez consulter le guide sur GCPedia avec les autres documents du service web géré." + ] + } + }, + { + "@id": "_:implement_pft_contact", + "iteration": "_:iteration_pft_1", + "name": { + "en": "Standard (wet-boew)", + "fr": "Standard (wet-boew)" + }, + "introduction": { + "en": "This implementation is meant for developers/publishers adding the component manually with using the latest GCWeb version along with at least the implementation of the page details version 2.x.", + "fr": "Cette implémentation est destinée aux développeurs/éditeurs qui ajoutent le composant manuellement en utilisant une version récente de GCWeb avec l'implémentation de la version 2.x du détails de la page." + }, + "instructions": { + "en": [ + "Ensure the version of GCWeb v13.9.0 or earlier is implemented", + "Ensure the latest version of page details is implemented", + "To show the page feedback form, create a <div class=\"wb-disable-allow\"> with the following data attributes:", + "Additionally, your page needs to have the following metadata: <meta name=\"dcterms.creator\" content=\"[Department name]\">" + ], + "fr": [ + "Vérifier qu'une version récente de GCWeb (v13.9.0 ou plus récent) est implémenté", + "Vérifier que la version 2.1, ou plus récente, du détails de la page est implémenté", + "Pour afficher le formulaire de rétroaction sur la page, créez un <div class=\"wb-disable-allow\"> avec les attributs suivants :", + "De plus, vous pouvez définir les métadonnées suivantes : <meta name=\"dcterms.creator\" content=\"[Department name]\">" + ] + }, + "notes": { + "en": [ + "To upgrade from the RAP to the PFT, follow the instructions of the \"Upgrade from RAP\" tab.", + "For more information about Data Ajax plugin, please visit Data Ajax documentation page." + ], + "fr": [ + "Pour passer du SUP au ORP, suivez les instructions de l'onglet \"Mise à jour à partir de SUP\".", + "Pour plus d'informations sur le plugin Data Ajax, veuillez visiter la page de documentation Data Ajax." + ] + }, + "sample": { + "en": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "<div class=\"wb-disable-allow\" \ndata-ajax-replace=\"assets/page-feedback-en.html\" \ndata-feedback-section=\"[Text defining the section where your page resides]\" \ndata-feedback-theme=\"[Text defining the theme of your page]\" \ndata-feedback-link=\"[Contact link text]\" \ndata-feedback-url=\"[Contact link URL]\"></div>" + }, + { + "@type": "source-code", + "collapsed": true, + "description": "Ajaxed-in content", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "assets/page-feedback-en.html" + } + } + ], + "fr": [ + { + "@type": "source-code", + "description": "Exemple de code :", + "code": "<div class=\"wb-disable-allow\" \ndata-ajax-replace=\"assets/page-feedback-fr.html\" \ndata-feedback-section=\"[Texte définissant la section où réside votre page]\" \ndata-feedback-theme=\"[Texte définissant le thème de votre page]\" \ndata-feedback-link=\"[Texte du lien de contact]\" \ndata-feedback-url=\"[URL du lien de contact]\"></div>" + }, + { + "@type": "source-code", + "collapsed": true, + "description": "Contenu ajouté via Ajax :", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "assets/page-feedback-fr.html" + } + } + ] + } + }, + { + "@id": "_:implement_pft_contact_gcweb", + "iteration": "_:iteration_pft_1", + "name": { + "en": "GCWeb Jekyll", + "fr": "GCWeb Jekyll" + }, + "introduction": { + "en": "This implementation is meant for developers trying to implement this component within a GCWeb Jekyll site. To apply this variant's optional attributes on any given page, you will need to do the following in the page's front-matter:", + "fr": "Cette implémentation est destinée aux développeurs essayant d'implémenter ce composant dans un site GCWeb Jekyll. Pour appliquer les attributs facultatifs de cette variante sur une page donnée, vous devrez procéder comme suit dans le front-matter de la page :" + }, + "instructions": { + "en": [ + "Set the variable feedback to true.", + "Set the variable feedbackContact to an object containing the following properties:", + "Optionally, set the variable feedbackData to an object containing the following customizable strings:" + ], + "fr": [ + "Définissez la variable feedback à true.", + "Définissez la variable feedbackContact à un objet contenant les propriétés :", + "Facultativement, définissez la variable feedbackData à un objet contenant les propriétés suivantes :" + ] + }, + "sample": { + "en": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "\"feedback\": true, \n\"feedbackContact\": {\n\t\"link\": \"Contact link\",\n\t\"url\": \"https://canada.ca/en\"\n}, \n\"feedbackData\": {\n\t\"theme\": \"Theme\",\n\t\"section\": \"Section\"\n}" + } + ], + "fr": [ + { + "@type": "source-code", + "description": "Code sample:", + "code": "\"feedback\": true, \n\"feedbackContact\": {\n\t\"link\": \"Lien de contact\",\n\t\"url\": \"https://canada.ca/fr\"\n}, \n\"feedbackData\": {\n\t\"theme\": \"Thème\",\n\t\"section\": \"Section\"\n}" + } + ] + } + } + ], + "changesets": [ + { + "@id": "_:cs_rap_inline", + "name": "Report a problem inline", + "status": "stable", + "baseOnIteration": "_:iteration_rap_1", + "detectableBy": "The RAP web form is hardcoded in each page and the form inputs are server-side personalized/configured.", + "layout": [ + "At the top-left column in the page details component", + "When expanded, a vertical form is shown in-place" + ], + "style": [ + "It is visually rendered as a default button", + "Only have an arrow when the online form is available directly on the page" + ], + "semantic": { + "@type": "source-code", + "collapsed": true, + "description": "Include with logic in Handlebars that supports all variations of this changeset. The list of questions is in scope.", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "deprecated/report-problem-inline-en.html" + } + }, + "logic": "Not applicable", + "behaviour": [ + "Non-Canada.ca implementation - Redirect to a web page with a form to collect the feedback", + "Canada.ca implementation - Show an inline form underneath the button, when requested by the user, to collect the feedback" + ], + "guidance": [ + "Canada.ca - Show the feedback form under the RAP button", + "Non Canada.ca - Redirect the user on a page to collect the feedback." + ], + "context": "In the page details component, inside the main content of the page", + "configuration":[ + "Form submission URL", + "Basic mode: URL of the feedback button" + ], + "static": [ + "Button text - RAP-title - 'Report a problem on this page' - 'Signaler un problème ou une erreur sur cette page'", + "Text in the ", + "Question 1", + "Question 2", + "Question 3", + "Question 4", + "Question 5", + "Question 11", + "Question 12" + ], + "schema": [ + "Form submission URL" + ], + "dependency": [ + "Page details, version 1, incompatible with version 2 and up" + ], + "file": "Not applicable" + }, + { + "@id": "_:cs_rap_container", + "name": "Report a problem with AJAX", + "status": "stable", + "baseOnIteration": "_:iteration_rap_5", + "detectableBy": "The RAP web form is inserted via ajax", + "layout": [ + "At the top-left column in the page details component", + "When expanded, a vertical form is shown in-place" + ], + "style": [ + "It is visually rendered as a default button", + "Only have an arrow when the online form is available directly on the page" + ], + "semantic": { + "@type": "source-code", + "description": "Container calling the RAP form via AJAX", + "code": { + "@type": [ "rdf:HTML" ], + "@value": "
    \n\t
    \n\t\t\n\t
    \n
    \n" + } + }, + "logic": "Not applicable", + "behaviour": [ + "Non-Canada.ca implementation: redirect to a web page with a form to collect the feedback", + "Canada.ca implementation: show an inline form underneath the button when requested by the user, to collect the feedback", + "Basic mode Canada.ca implementation: show the fallback button" + ], + "guidance": [ + "Canada.ca: show the feedback form underneath the RAP button", + "Non Canada.ca: redirect the user on a page to collect the feedback." + ], + "context": "In the page details component, inside the main content of the page", + "configuration":[ + "URL of the file being AJAXed", + "URL of the RAP fallback link" + ], + "static": [ + "Button text - RAP-title - \"Report a problem on this page\" - \"Signaler un problème ou une erreur sur cette page\"" + ], + "schema": [ + "AjaxLink", + "StaticRapLink" + ], + "dependency": [ + "Page details, version 2, incompatible with version 1", + "RAP AJAX content as described by the changeset _:cs_rap_ajax", + "RAP AJAX content as described by the changeset _:cs_rap_ajax_2" + ], + "file": "Not applicable" + }, + { + "@id": "_:cs_rap_ajax", + "name": "Report a problem AJAX file", + "status": "stable", + "baseOnIteration": "_:iteration_rap_2", + "dependOnChangeSet": "_:cs_rap_container", + "detectableBy": "HTML fragment that starts with a \"row row-no-gutters\", containing a form and a wrapper \"div.gc-rprt-prlm\"", + "layout": [ + "Full width button", + "When expanded, a vertical form is shown" + ], + "style": [ + "The expandable Button is rendered as the default button preceded by an arrow", + "Gray background for the form area", + "Primary styled button for form submission" + ], + "semantic": { + "@type": "source-code", + "description": "HTML fragment which is inserted into the RAP container", + "collapsed": true, + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "ajax/deprecated/report-problem-v1-en.html" + } + }, + "logic": "Not applicable", + "behaviour": [ + "Button that show/hide the RAP form", + "Success message showed on success or failure" + ], + "guidance": [ + "Canada.ca: show the feedback form underneath the RAP button" + ], + "context": "To be used by RAP", + "configuration":[ + "Form submission URL" + ], + "static": [ + "Button text - RAP-title - \"Report a problem on this page\" - \"Signaler un problème ou une erreur sur cette page\"", + "Text in the ", + "Problem 1", + "Problem 2", + "Problem 3", + "Problem 4", + "Problem 5", + "Problem 6", + "Problem 7", + "Problem 8", + "Problem 9", + "Problem 10", + "Problem 11", + "Problem 12", + "Submit button", + "Success message", + "Failure message" + ], + "schema": [ + "Form submission URL" + ], + "dependency": [ + "Page details, version 2, incompatible with version 1" + ], + "file": "Not applicable, this HTML fragment content is intended to be integrated by a location that fits the content management system" + }, + { + "@id": "_:cs_rap_ajax_2", + "name": "Report a problem AJAX file Data-JSON", + "status": "stable", + "baseOnIteration": "_:iteration_rap_5", + "dependOnChangeSet": "_:cs_rap_container", + "detectableBy": "Hidden inputs genereted via Data-JSON and \"subject\" and \"externalReferer\" are static", + "layout": [ + "Full width button", + "When expanded, a vertical form is shown" + ], + "style": [ + "The expandable Button is rendered as the default button preceded by an arrow", + "Gray background for the form area", + "Primary styled button for form submission" + ], + "semantic": { + "@type": "source-code", + "description": "HTML fragment which is inserted into the RAP container", + "collapsed": true, + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "ajax/deprecated/report-problem-v1-en.html" + } + }, + "logic": "Not applicable", + "behaviour": [ + "Button that show/hide the RAP form", + "Success message showed on success or failure" + ], + "guidance": [ + "Canada.ca: show the feedback form underneath the RAP button" + ], + "context": "To be used by RAP", + "configuration":[ + "Form submission URL" + ], + "static": [ + "Button text - RAP-title - \"Report a problem on this page\" - \"Signaler un problème ou une erreur sur cette page\"", + "Hidden inputs \"subject\" and \"externalReferer\"", + "Text in the ", + "Problem 1", + "Problem 2", + "Problem 3", + "Problem 4", + "Problem 5", + "Problem 11", + "Problem 12", + "Submit button", + "Success message", + "Failure message" + ], + "schema": [ + "Form submission URL" + ], + "dependency": [ + "Page details, version 2, incompatible with version 1" + ], + "file": "Not applicable, this HTML fragment content is intended to be integrated by a location that fits the content management system" + }, + { + "@id": "_:cs_pft_container", + "name": "Page feedback tool with AJAX", + "status": "stable", + "baseOnIteration": "_:iteration_pft_1", + "detectableBy": "
    ", + "layout": [ + "At the top-left column in the page details component", + "When user selects \"No\", a form with a textarea appears" + ], + "style": [ + "Light-gray box with question and two primary buttons", + "When user selects \"No\", a form with a textarea replaces the question and primary buttons" + ], + "semantic": { + "@type": "source-code", + "description": "Container calling the RAP form via AJAX", + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "includes/feedback.html" + } + }, + "logic": "Not applicable", + "behaviour": [ + "Display an inline form that replaces the buttons when requested by the user, to collect the feedback" + ], + "context": "In the page details component, inside the main content of the page", + "configuration":[ + "Mandatory: URL of the file being AJAXed", + "Optional: data-feedback-section attribute", + "Optional: data-feedback-theme attribute", + "Mandaotry for Page feedback tool with contact link variation: data-feedback-link attribute", + "Mandaotry for Page feedback tool with contact link variation: data-feedback-url attribute" + ], + "static": "Not applicable", + "schema": [ + "AjaxLink", + "FeedbackSection", + "FeedbackTheme", + "FeedbackLink", + "FeedbackURL" + ], + "dependency": [ + "Page details, version 2, incompatible with version 1", + "PFT AJAX content as described by the changeset _:cs_pft_ajax" + ], + "file": "Not applicable" + }, + { + "@id": "_:cs_pft_ajax", + "name": "Page feedback tool AJAX file", + "status": "stable", + "baseOnIteration": "_:iteration_pft_1", + "dependOnChangeSet": "_:cs_pft_container", + "detectableBy": "
    ", + "layout": [ + "Row - string followed by two primary buttons", + "Form appear when \"No\" is selected", + "Label", + "Hint", + "Info text", + "Textarea", + "Submit button" + ], + "style": [ + "Light-gray box with question and two primary buttons", + "When user selects \"No\", a form with a textarea replaces the question and primary buttons", + "When user submits, a confirmation message is shown on postback" + ], + "semantic": { + "@type": "source-code", + "description": "HTML fragment which is inserted into the PFT container", + "collapsed": true, + "code": { + "@type": [ "@id", "rdf:HTML" ], + "@value": "assets/page-feedback-en.html" + } + }, + "logic": "Not applicable", + "behaviour": [ + "When user selects \"No\", a form with a textarea and submit button replaces the question and primary buttons", + "When user selects \"Yes\", a success message replaces the question and primary buttons" + ], + "guidance": "Not applicable", + "context": "To be used by PFT", + "configuration": "Not applicable", + "static": [ + "Heading 3: Give feedback about this page - Donnez votre rétroaction sur cette page", + "Legend: Did you find what you were looking for? - Avez-vous trouvé ce que vous cherchiez?", + "Button: Yes - Oui", + "Button: No - Non", + "Paragraph (basic only): If not, tell us why below - Sinon, dites nous pourquoi ci-dessous", + "Paragraph: Tell us why below - Dites nous pourquoi ci-dessous", + "Summary (contact link variation only): Need urgent help with a problem? Contact us - Besoin d’aide urgente pour résoudre un problème? Communiquez avec nous", + "Label: Please provide more details - Veuillez fournir plus de détails", + "Small note: You will not receive a reply. Don't include personal information (telephone, email, SIN, financial, medical, or work details). - Vous ne recevrez pas de réponse. N'incluez pas de renseignements personnels (téléphone, courriel, NAS, renseignements financiers, médicaux ou professionnels).", + "Instruction paragraph: Maximum 300 characters - Maximum de 300 caractères", + "Button: Submit - Soumettre", + "Success message: Thank you for your feedback. - Merci de vos commentaires." + ], + "schema": "Not applicable", + "dependency": [ + "Page details, version 2, incompatible with version 1" + ], + "file": "Not applicable, this HTML fragment content is intended to be integrated by a location that fits the content management system" + } + ], + "iteration": [ + { + "@id": "_:iteration_pft_1", + "name": "Page feedback tool - Iteration 1", + "date": "2023-08", + "detectableBy": ".gc-pft", + "assets": [ + { + "@type": "source-code", + "@language": "en", + "description": "Code sample", + "code": "
    " + }, + { + "@type": "source-code", + "@language": "en", + "description": "Code sample with contact link", + "code": "
    " + }, + { + "@type": "source-code", + "@language": "en", + "description": "Ajaxed-in content", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "assets/page-feedback-en.html" + } + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Exemple de code", + "code": "
    " + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Exemple de code avec lien de contact", + "code": "
    " + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Contenu ajouté via Ajax", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "assets/page-feedback-fr.html" + } + } + ] + }, + { + "@id": "_:iteration_rap_1", + "@language": "en", + "name": "Report a problem - Iteration 1", + "date": "2021-03", + "detectableBy": ".gc-rprt-prblm", + "successor": "_:iteration_rap_2", + "assets": [ + { + "@type": "source-code", + "@language": "en", + "description": "Code sample", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v1-en.html" + } + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Exemple de code", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v1-fr.html" + } + } + ] + }, + { + "@id": "_:iteration_rap_2", + "name": "Report a problem - Iteration 2", + "date": "2022-05", + "detectableBy": "The component is now loaded through data-ajax", + "breaking": [ + "Layout: rework of the template to use data-ajax. Includes fallback for basic HTML version", + "Semantic: added login error options (problem 5 to problem 10).", + "Behaviour: form now leverages wb-postback for form validation and no longer uses data-toggle on submit.", + "Behaviour: added error and success messages." + ], + "predecessor": "_:iteration_rap_1", + "successor": "_:iteration_rap_3", + "assets": [ + { + "@type": "source-code", + "@language": "en", + "description": "Code sample", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "en", + "description": "Ajaxed-in content", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v2-en.html" + } + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Exemple de code", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Contenu ajouté via Ajax", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v2-fr.html" + } + } + ] + }, + { + "@id": "_:iteration_rap_3", + "name": "Report a problem - Iteration 3", + "date": "2023-01", + "detectableBy": "Options 6 through 10 are not there.", + "breaking": [ + "Semantic: removed login error sub-options.", + "Semantic: renamed login error option." + ], + "predecessor": "_:iteration_rap_2", + "successor": "_:iteration_rap_4", + "assets": [ + { + "@type": "source-code", + "@language": "en", + "description": "Code sample", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "en", + "description": "Ajaxed-in content", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v3-en.html" + } + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Exemple de code", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Contenu ajouté via Ajax", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v3-fr.html" + } + } + ] + }, + { + "@id": "_:iteration_rap_4", + "name": "Report a problem - Iteration 4", + "date": "2023-03", + "detectableBy": "Hidden inputs are generated via Data-JSON", + "breaking": [ + "Semantic: leveraging JSON Manager Extractor and Data JSON to generate hidden input fields." + ], + "predecessor": "_:iteration_rap_3", + "successor": "_:iteration_rap_5", + "assets": [ + { + "@type": "source-code", + "@language": "en", + "description": "Code sample", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "en", + "description": "Ajaxed-in content", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v4-en.html" + } + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Exemple de code", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Contenu ajouté via Ajax", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/deprecated/report-problem-v4-fr.html" + } + } + ] + }, + { + "@id": "_:iteration_rap_5", + "name": "Report a problem - Iteration 5", + "date": "2023-08", + "detectableBy": "externalReferer and subject are no longer generated via Data-JSON, but are now static.", + "breaking": [ + "Semantic: removed JSON Manager extraction for 'externalReferer' and 'subject'." + ], + "additions": [ + "Semantic: added static hidden inputs for 'externalReferer' and 'subject'." + ], + "predecessor": "_:iteration_rap_4", + "assets": [ + { + "@type": "source-code", + "@language": "en", + "description": "Code sample", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "en", + "description": "Ajaxed-in content", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/report-problem-en.html" + } + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Exemple de code", + "code": "
    \n\t
    \n\t\t\n\t
    \n
    " + }, + { + "@type": "source-code", + "@language": "fr", + "description": "Contenu ajouté via Ajax", + "code": { + "@type": [ "rdf:HTML", "@id" ], + "@value": "ajax/report-problem-fr.html" + } + } + ] + } + ] } ,{ "@context": { @@ -608,6 +1735,195 @@ ] } } +,{ + "@context": { + "@version": 2.0, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Secondary/Local menu", + "fr": "Menu secondaire/local" + }, + "description": { + "en": "Secondary menu component", + "fr": "Composant du menu secondaire" + }, + "modified": "2023-08-30", + "componentName": "secondary-menu", + "status": "deprecated", + "pages": { + "examples": [ + { + "title": "Task 1", + "language": "en", + "path": "../../templates/lowest-topic/task1/index-en.html" + }, + { + "title": "Tâche 1", + "language": "fr", + "path": "../../templates/lowest-topic/task1/index-fr.html" + }, + + { + "title": "Sub task 1", + "language": "en", + "path": "../../templates/lowest-topic/task1/task1/index-en.html" + }, + { + "title": "Sub tâche 1", + "language": "fr", + "path": "../../templates/lowest-topic/task1/task1/index-fr.html" + }, + { + "title": "Sub task 2", + "language": "en", + "path": "../../templates/lowest-topic/task1/task2/index-en.html" + }, + { + "title": "Sub tâche 2", + "language": "fr", + "path": "../../templates/lowest-topic/task1/task2/index-fr.html" + }, + { + "title": "Sub task 3", + "language": "en", + "path": "../../templates/lowest-topic/task1/task3/index-en.html" + }, + { + "title": "Sub tâche 3", + "language": "fr", + "path": "../../templates/lowest-topic/task1/task3/index-fr.html" + }, + { + "title": "Sub task 4", + "language": "en", + "path": "../../templates/lowest-topic/task1/task4/index-en.html" + }, + { + "title": "Sub tâche 4", + "language": "fr", + "path": "../../templates/lowest-topic/task1/task4/index-fr.html" + }, + { + "title": "Sub task 5", + "language": "en", + "path": "../../templates/lowest-topic/task1/task5/index-en.html" + }, + { + "title": "Sub tâche 5", + "language": "fr", + "path": "../../templates/lowest-topic/task1/task5/index-fr.html" + }, + { + "title": "Sub task 6", + "language": "en", + "path": "../../templates/lowest-topic/task1/task6/index-en.html" + }, + { + "title": "Sub tâche 6", + "language": "fr", + "path": "../../templates/lowest-topic/task1/task6/index-fr.html" + }, + { + "title": "Sub task 7", + "language": "en", + "path": "../../templates/lowest-topic/task1/task7/index-en.html" + }, + { + "title": "Sub tâche 7", + "language": "fr", + "path": "../../templates/lowest-topic/task1/task7/index-fr.html" + }, + + { + "title": "Task 2", + "language": "en", + "path": "../../templates/lowest-topic/task2/index-en.html" + }, + { + "title": "Tâche 2", + "language": "fr", + "path": "../../templates/lowest-topic/task2/index-fr.html" + }, + + { + "title": "Task 3", + "language": "en", + "path": "../../templates/lowest-topic/task3/index-en.html" + }, + { + "title": "Tâche 3", + "language": "fr", + "path": "../../templates/lowest-topic/task3/index-fr.html" + }, + + { + "title": "Sub task 1", + "language": "en", + "path": "../../templates/lowest-topic/task3/task1/index-en.html" + }, + { + "title": "Sub tâche 1", + "language": "fr", + "path": "../../templates/lowest-topic/task3/task1/index-fr.html" + }, + { + "title": "Sub task 2", + "language": "en", + "path": "../../templates/lowest-topic/task3/task2/index-en.html" + }, + { + "title": "Sub tâche 2", + "language": "fr", + "path": "../../templates/lowest-topic/task3/task2/index-fr.html" + }, + { + "title": "Sub sub task 1", + "language": "en", + "path": "../../templates/lowest-topic/task3/task2/task1/index-en.html" + }, + { + "title": "Sub sub tâche 1", + "language": "fr", + "path": "../../templates/lowest-topic/task3/task2/task1/index-fr.html" + }, + { + "title": "Sub sub task 2", + "language": "en", + "path": "../../templates/lowest-topic/task3/task2/task2/index-en.html" + }, + { + "title": "Sub sub tâche 2", + "language": "fr", + "path": "../../templates/lowest-topic/task3/task2/task2/index-fr.html" + }, + { + "title": "Sub task 3", + "language": "en", + "path": "../../templates/lowest-topic/task3/task3/index-en.html" + }, + { + "title": "Sub tâche 3", + "language": "fr", + "path": "../../templates/lowest-topic/task3/task3/index-fr.html" + }, + + { + "title": "Task 4", + "language": "en", + "path": "../../templates/lowest-topic/task4/index-en.html" + }, + { + "title": "Tâche 4", + "language": "fr", + "path": "../../templates/lowest-topic/task4/index-fr.html" + } + ] + } +} ,{ "@context": { "@version": 1.1, diff --git a/_data/templates.json b/_data/templates.json index b5a734a8eb..ac46a5c868 100644 --- a/_data/templates.json +++ b/_data/templates.json @@ -547,28 +547,25 @@ "modified": "dct:modified" }, "title": { - "en": "Local navigation", - "fr": "Navigation locale" + "en": "Lowest topic (with secondary navigation)", + "fr": "Sujet de plus bas niveau (avec une navigation secondaire" }, "description": { - "en": "Template sample with a local navigation", - "fr": "Example de gabarit avec une navigation local" + "en": "Template sample with a local navigation and a lowest topic page", + "fr": "Example de gabarit avec une navigation local et une page de sujet de plus bas niveau" }, - "modified": "2020-04-16", - "componentName": "localnav", - "status": "stable", - "todos": [ - "Fix the includes to support the secondarymenu" - ], + "modified": "2023-08-30", + "componentName": "lowest-topic", + "status": "deprecated", "pages": { "examples": [ { - "title": "[Topic - Local navigation]", + "title": "[Topic - Secondary/Local navigation]", "language": "en", "path": "index-en.html" }, { - "title": "[Sujet - Navigation locale]", + "title": "[Sujet - Navigation secondaire/locale]", "language": "fr", "path": "index-fr.html" }, @@ -579,7 +576,7 @@ "path": "task1/index-en.html" }, { - "title": "Tache 1", + "title": "Tâche 1", "language": "fr", "path": "task1/index-fr.html" }, @@ -590,7 +587,7 @@ "path": "task1/task1/index-en.html" }, { - "title": "Sub Tache 1", + "title": "Sub tâche 1", "language": "fr", "path": "task1/task1/index-fr.html" }, @@ -600,7 +597,7 @@ "path": "task1/task2/index-en.html" }, { - "title": "Sub Tache 2", + "title": "Sub tâche 2", "language": "fr", "path": "task1/task2/index-fr.html" }, @@ -610,7 +607,7 @@ "path": "task1/task3/index-en.html" }, { - "title": "Sub Tache 3", + "title": "Sub tâche 3", "language": "fr", "path": "task1/task3/index-fr.html" }, @@ -620,7 +617,7 @@ "path": "task1/task4/index-en.html" }, { - "title": "Sub Tache 4", + "title": "Sub tâche 4", "language": "fr", "path": "task1/task4/index-fr.html" }, @@ -630,7 +627,7 @@ "path": "task1/task5/index-en.html" }, { - "title": "Sub Tache 5", + "title": "Sub tâche 5", "language": "fr", "path": "task1/task5/index-fr.html" }, @@ -640,7 +637,7 @@ "path": "task1/task6/index-en.html" }, { - "title": "Sub Tache 6", + "title": "Sub tâche 6", "language": "fr", "path": "task1/task6/index-fr.html" }, @@ -650,7 +647,7 @@ "path": "task1/task7/index-en.html" }, { - "title": "Sub Tache 7", + "title": "Sub tâche 7", "language": "fr", "path": "task1/task7/index-fr.html" }, @@ -661,7 +658,7 @@ "path": "task2/index-en.html" }, { - "title": "Tache 2", + "title": "Tâche 2", "language": "fr", "path": "task2/index-fr.html" }, @@ -672,7 +669,7 @@ "path": "task3/index-en.html" }, { - "title": "Tache 2", + "title": "Tâche 3", "language": "fr", "path": "task3/index-fr.html" }, @@ -683,7 +680,7 @@ "path": "task3/task1/index-en.html" }, { - "title": "Sub Tache 1", + "title": "Sub tâche 1", "language": "fr", "path": "task3/task1/index-fr.html" }, @@ -693,7 +690,7 @@ "path": "task3/task2/index-en.html" }, { - "title": "Sub Tache 2", + "title": "Sub tâche 2", "language": "fr", "path": "task3/task2/index-fr.html" }, @@ -703,7 +700,7 @@ "path": "task3/task2/task1/index-en.html" }, { - "title": "Sub sub Tache 1", + "title": "Sub sub tâche 1", "language": "fr", "path": "task3/task2/task1/index-fr.html" }, @@ -713,7 +710,7 @@ "path": "task3/task2/task2/index-en.html" }, { - "title": "Sub sub Tache 2", + "title": "Sub sub tâche 2", "language": "fr", "path": "task3/task2/task2/index-fr.html" }, @@ -723,7 +720,7 @@ "path": "task3/task3/index-en.html" }, { - "title": "Sub Tache 3", + "title": "Sub tâche 3", "language": "fr", "path": "task3/task3/index-fr.html" }, @@ -734,7 +731,7 @@ "path": "task4/index-en.html" }, { - "title": "Tache 4", + "title": "Tâche 4", "language": "fr", "path": "task4/index-fr.html" } diff --git a/_data/wet-boew.json b/_data/wet-boew.json new file mode 100644 index 0000000000..f481b5a74d --- /dev/null +++ b/_data/wet-boew.json @@ -0,0 +1,95 @@ +[{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Background image", + "fr": "Image d'arrière plan" + }, + "description": { + "en": "Apply a background image from the given URL in parameter or as per the image group (srcset) information.", + "fr": "Défini une image d'arrière plan pour l'URL passé en paramètre ou tel que spécifier par l'information du group d'image (srcset)." + }, + "modified": "2023-09-12", + "componentName": "bgimg", + "status": "stable", + "pages": { + "examples": [ + { + "title": "Background image", + "language": "en", + "type": "general", + "url": "https://wet-boew.github.io/gcweb-compiled-demos/wetboew-demos/bgimg/bgimg-en.html" + }, + { + "title": "Image d'arrière plan", + "language": "fr", + "url": "https://wet-boew.github.io/gcweb-compiled-demos/wetboew-demos/bgimg/bgimg-fr.html" + } + ], + "docs": [ + { + "title": "Background image", + "language": "en", + "url": "https://wet-boew.github.io/wet-boew/docs/ref/bgimg/bgimg-en.html" + }, + { + "title": "Image d'arrière plan", + "language": "fr", + "url": "https://wet-boew.github.io/wet-boew/docs/ref/bgimg/bgimg-fr.html" + } + ] + } +} +,{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Favicon", + "fr": "Favoricône" + }, + "description": { + "en": "This plugin provides the ability to add and update the favicon's on a web page.", + "fr": "Ce plugiciel offre la possibilité d'ajouter et de mettre à jour les favoricônes d'une page. " + }, + "modified": "2023-09-12", + "componentName": "favicon", + "status": "stable", + "pages": { + "examples": [ + { + "title": "Favicon", + "language": "en", + "type": "general", + "url": "https://wet-boew.github.io/gcweb-compiled-demos/wetboew-demos/favicon/favicon-en.html" + }, + { + "title": "Favoricône", + "language": "fr", + "url": "https://wet-boew.github.io/gcweb-compiled-demos/wetboew-demos/favicon/favicon-fr.html" + } + ], + "docs": [ + { + "title": "Favicon", + "language": "en", + "url": "https://wet-boew.github.io/wet-boew/docs/ref/favicon/favicon-en.html" + }, + { + "title": "Favoricône", + "language": "fr", + "url": "https://wet-boew.github.io/wet-boew/docs/ref/favicon/favicon-fr.html" + } + ] + } +} +] \ No newline at end of file diff --git a/_includes/components/gc-features/features.html b/_includes/components/gc-features/features.html index da6e088094..fc64cd4ed9 100644 --- a/_includes/components/gc-features/features.html +++ b/_includes/components/gc-features/features.html @@ -15,7 +15,7 @@

    Features

    {% for i in (1..3) %}
    -
    +
    {%- if page.language == "fr" -%}

    [Lien vers l’élément en vedette]

    diff --git a/_includes/components/gc-follow-us/follow.html b/_includes/components/gc-follow-us/follow.html index 7f5bd635a2..d0f00b639f 100644 --- a/_includes/components/gc-follow-us/follow.html +++ b/_includes/components/gc-follow-us/follow.html @@ -12,9 +12,9 @@ {%- if page.language == "fr" -%}

    Suivez :

      -
    • +
    • -
    • YouTube
    • +
    • YouTube
    • Flickr
    • Pinterest
    • LinkedIn
    • @@ -26,9 +26,9 @@

      Suivez :

      {%- else -%}

      Follow:

        -
      • +
      • -
      • YouTube
      • +
      • YouTube
      • Flickr
      • Pinterest
      • LinkedIn
      • diff --git a/common/ajax-fetch/ajax-fetch-en.html b/common/ajax-fetch/ajax-fetch-en.html new file mode 100644 index 0000000000..34fa02b9f4 --- /dev/null +++ b/common/ajax-fetch/ajax-fetch-en.html @@ -0,0 +1,70 @@ +--- +{ + "title": "Ajax Fetch", + "language": "en", + "altLangPage": "ajax-fetch-fr.html", + "breadcrumbs": [ + { "title": "GCWeb home", "link": "https://wet-boew.github.io/GCWeb/index-en.html" } + ], + "dateModified": "2023-08-25" +} +--- +
        +

        Successful Ajax Fetch

        +
        +
        +

        Text to be replaced

        +

        This text will be replaced.

        +
        +
        + +

        Failed Ajax Fetch

        +
        +
        +

        Text to be replaced

        +

        This text will not be replaced.

        +
        +
        + +

        Code

        +
        +
        +

        Source code

        +
        <h2>Successful Ajax Fetch</h2>
        +			<div data-ajax-replace="ajax/data-ajax-extra-en.html">
        +				<section>
        +					<h3>Text to be replaced</h3>
        +					<p>This text will be replaced.</p>
        +				</section>
        +			</div>
        +
        +			<h2>Failed Ajax Fetch</h2>
        +			<div data-ajax-replace="failedUrl">
        +				<section>
        +					<h3>Text to be replaced</h3>
        +					<p>This text will <strong>not</strong> be replaced.</p>
        +				</section>
        +			</div>
        +		
        +
        + +
        +

        DOM Tree

        +
        <h2>Successful Ajax Fetch</h2>
        +			<div data-ajax-replace="ajax/data-ajax-extra-en.html">
        +				<section class="ajaxed-in">
        +					<h3>I was ajaxed in</h3>
        +					<p>I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in.</p>
        +				</section>
        +			</div>
        +
        +			<h2>Failed Ajax Fetch</h2>
        +			<div data-ajax-replace="failedUrl">
        +				<section>
        +					<h3>Text to be replaced</h3>
        +					<p>This text will <strong>not</strong> be replaced.</p>
        +				</section>
        +			</div>
        +		
        +
        +
        diff --git a/common/ajax-fetch/ajax-fetch-fr.html b/common/ajax-fetch/ajax-fetch-fr.html new file mode 100644 index 0000000000..3de7215652 --- /dev/null +++ b/common/ajax-fetch/ajax-fetch-fr.html @@ -0,0 +1,70 @@ +--- +{ + "title": "Récupération de ressource via Ajax", + "language": "fr", + "altLangPage": "ajax-fetch-en.html", + "breadcrumbs": [ + { "title": "GCWeb home", "link": "https://wet-boew.github.io/GCWeb/index-fr.html" } + ], + "dateModified": "2023-08-25" +} +--- +
        +

        Succès de récupération d'une ressource ajax

        +
        +
        +

        Texte à être remplacé

        +

        Ce texte sera remplacé.

        +
        +
        + +

        Échec de récupération d'une ressource ajax

        +
        +
        +

        Texte à être remplacé

        +

        Ce texte ne sera pas remplacé.

        +
        +
        + +

        Code

        +
        +
        +

        Code source

        +
        <h2>Succès de récupération d'une ressource ajax</h2>
        +			<div data-ajax-replace="ajax/data-ajax-extra-fr.html">
        +				<section>
        +					<h3>Texte à être remplacé</h3>
        +					<p>Ce texte sera remplacé.</p>
        +				</section>
        +			</div>
        +
        +			<h2>Failed Ajax Fetch</h2>
        +			<div data-ajax-replace="urlEnEchec">
        +				<section>
        +					<h3>Texte à être remplacé</h3>
        +					<p>Ce texte ne sera <strong>pas</strong> remplacé.</p>
        +				</section>
        +			</div>
        +		
        +
        + +
        +

        Arbre de contenu

        +
        <h2>Succès de récupération d'une ressource ajax</h2>
        +			<div data-ajax-replace="ajax/data-ajax-extra-fr.html">
        +				<section class="ajaxed-in">
        +					<h3>J'ai été affiché via Ajax</h3>
        +					<p>J'ai été affiché via Ajax. J'ai été affiché via Ajax. J'ai été affiché via Ajax. J'ai été affiché via Ajax. J'ai été affiché via Ajax.</p>
        +				</section>
        +			</div>
        +
        +			<h2>Échec de récupération d'une ressource ajax</h2>
        +			<div data-ajax-replace="urlEnEchec">
        +				<section>
        +					<h3>Texte à être remplacé</h3>
        +					<p>Ce texte ne sera <strong>pas</strong> remplacé.</p>
        +				</section>
        +			</div>
        +		
        +
        +
        diff --git a/common/ajax-fetch/ajax/data-ajax-extra-en.html b/common/ajax-fetch/ajax/data-ajax-extra-en.html new file mode 100644 index 0000000000..0ed3c498f3 --- /dev/null +++ b/common/ajax-fetch/ajax/data-ajax-extra-en.html @@ -0,0 +1,4 @@ +
        +

        I was ajaxed in

        +

        I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in. I was ajaxed in.

        +
        diff --git a/common/ajax-fetch/ajax/data-ajax-extra-fr.html b/common/ajax-fetch/ajax/data-ajax-extra-fr.html new file mode 100644 index 0000000000..b18610c713 --- /dev/null +++ b/common/ajax-fetch/ajax/data-ajax-extra-fr.html @@ -0,0 +1,4 @@ +
        +

        J'ai été affiché via Ajax

        +

        J'ai été affiché via Ajax. J'ai été affiché via Ajax. J'ai été affiché via Ajax. J'ai été affiché via Ajax. J'ai été affiché via Ajax.

        +
        diff --git a/common/ajax-fetch/index.json-ld b/common/ajax-fetch/index.json-ld new file mode 100644 index 0000000000..15d09a8e3b --- /dev/null +++ b/common/ajax-fetch/index.json-ld @@ -0,0 +1,35 @@ +{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Ajax Fetch", + "fr": "Récupération de ressource via Ajax" + }, + "description": { + "en": "Fetch data using Ajax", + "fr": "Récupération de données via Ajax" + }, + "modified": "2023-08-25", + "componentName": "ajax-fetch", + "processing": "baseline", + "status": "stable", + "pages": { + "examples": [ + { + "title": "Ajax Fetch", + "language": "en", + "path": "ajax-fetch-en.html" + }, + { + "title": "Récupération de ressource via Ajax", + "language": "fr", + "path": "ajax-fetch-fr.html" + } + ] + } +} diff --git a/common/list/lists-en.html b/common/list/lists-en.html index 3293a35c6f..e7e546cf68 100644 --- a/common/list/lists-en.html +++ b/common/list/lists-en.html @@ -317,7 +317,7 @@

        Appearance − Multi-class

        </ul>

        Responsive list .list-responsive

        -
          +
          • Item
          • Item
          • Item
          • diff --git a/common/list/lists-fr.html b/common/list/lists-fr.html index 0d05116762..3bdb23686a 100644 --- a/common/list/lists-fr.html +++ b/common/list/lists-fr.html @@ -319,7 +319,7 @@

            Appearance − Multi-class

            </ul>

            Responsive list .list-responsive

            -
              +
              • Item
              • Item
              • Item
              • diff --git a/common/wb-tabs/index.json-ld b/common/wb-tabs/index.json-ld new file mode 100644 index 0000000000..cd4c05eb17 --- /dev/null +++ b/common/wb-tabs/index.json-ld @@ -0,0 +1,35 @@ +{ + "@context": { + "@version": 2.0, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Tabs Interface - Carousel", + "fr": "Interface à onglets - Carrousel" + }, + "description": { + "en": "Responsive carousels are in-page components used to display multiple different items within the same content space.", + "fr": "Les carrousels responsifs sont des composants intégrés à la page utilisés pour afficher plusieurs éléments différents dans le même espace de contenu." + }, + "modified": "2023-09-08", + "componentName": "wb-tabs", + "status": "stable", + "pages": { + "docs": [], + "reports": [ + { + "title": "Pre accessibility assessment #1 - Tabs Interface - Carousel", + "language": "en", + "path": "reports/pre-ally-1-en.html" + }, + { + "title": "Pre assessment d'accessibilité #1 - Interface à onglets - Carrousel", + "language": "fr", + "path": "reports/pre-ally-1-fr.html" + } + ] + } +} diff --git a/common/wb-tabs/reports/pre-a11y-1-en.json b/common/wb-tabs/reports/pre-a11y-1-en.json new file mode 100644 index 0000000000..67aba0936b --- /dev/null +++ b/common/wb-tabs/reports/pre-a11y-1-en.json @@ -0,0 +1,14 @@ + +{ + "title": "Pre accessibility assessment #1 - Tabs Interface - Carousel", + "language": "en", + "description": "Evaluation of how the Tabs Interface - Carousel meets accessibility requirements", + "tag": "Tabs Interface - Carousel", + "parentdir": "Tabs Interface - Carousel", + "parentPage": "Tabs Interface - Carousel", + "parentPageURL": "Tabs Interface - Carousel", + "altLangPage": "pre-a11y-1-fr.html", + "dateModified": "2023-09-08", + "layout": "assessment_wrote_en-en", + "reportURL": "pre-a11y-1.json" +} diff --git a/common/wb-tabs/reports/pre-a11y-1-fr.json b/common/wb-tabs/reports/pre-a11y-1-fr.json new file mode 100644 index 0000000000..79c93bcf0e --- /dev/null +++ b/common/wb-tabs/reports/pre-a11y-1-fr.json @@ -0,0 +1,14 @@ + +{ + "title": "Pre assessment d'accessibilité #1 - Interface à onglets - Carrousel", + "language": "fr", + "description": "Évaluation de la manière dont le Interface à onglets - Carrousel répond aux exigences en matière d'accessibilité", + "tag": "Interface à onglets - Carrousel", + "parentdir": "Interface à onglets - Carrousel", + "parentPage": "Interface à onglets - Carrousel", + "parentPageURL": "Interface à onglets - Carrousel", + "altLangPage": "pre-a11y-1-en.html", + "dateModified": "2023-09-08", + "layout": "assessment_wrote_en-fr", + "reportURL": "pre-a11y-1.json" +} diff --git a/common/wb-tabs/reports/pre-a11y-1.json b/common/wb-tabs/reports/pre-a11y-1.json new file mode 100644 index 0000000000..3af6ae9a66 --- /dev/null +++ b/common/wb-tabs/reports/pre-a11y-1.json @@ -0,0 +1,443 @@ +{ + "@context": "https://wet-boew.github.io/vocab/context/2023/conformance-report-en.json", + + "@type": [ "earl:Assertion", "acr:AssessmentReport" ], + + "earl:subject": { + "@id": "_:subject", + "dct:references": "https://wet-boew.github.io/wet-boew/demos/tabs/tabs-carousel-en.html", + "@type": [ + "earl:TestSubject", + "schema:WebPage" + ], + "dct:description": "Evaluation of how the Tabs Interface - Carousel component meets accessibility requirements", + "earl:pointer": { + "@type": "oa:CssSelector", + "@value": "carousel-s1" + } + }, + "earl:assertedBy": { + "foaf:name": "Service Canada - Principal Publisher", + "foaf:homepage": "https://github.com/ServiceCanada", + "@type": ["earl:Assertor", "foaf:Organization"], + "earl:mainAssertor": { + "foaf:name": "Sebastian Burke (Github: @SebastianBurke)", + "foaf:homepage": "https://github.com/sebastianburke", + "@type": ["earl:Assertor", "foaf:Person"] + } + }, + + "dct:date": "2023-09-01", + "dct:description": "Analyzing and exploring the subject and produce a pre-evaluation of all WCAG 2.1 SC at level AA.", + "acr:involvesExpertise": [ + "wbv:acr/topics#aria", + "Javascript" + ], + + "dct:source": "act:rulesets/wcag2x/wcag21_all_levelAA.json", + "acr:standard": "https://www.w3.org/TR/WCAG21", + "acr:conformanceOption": "act:standard/profiles/wcag#levelAA", + + "earl:result": [ + { + "earl:test": "WCAG21:non-text-content", + "earl:outcome": "earl:untested", + "earl:subject": "_:subject", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:audio-only-and-video-only-prerecorded", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:captions-prerecorded", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:audio-description-or-media-alternative-prerecorded", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:captions-live", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:audio-description-prerecorded", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:info-and-relationships", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:meaningful-sequence", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:sensory-characteristics", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:orientation", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:identify-input-purpose", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:use-of-color", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:audio-control", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:contrast-minimum", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:resize-text", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:image-of-text", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:reflow", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:non-text-contrast", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:text-spacing", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:content-on-hover-or-focus", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:keyboard", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:no-keyboard-trap", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:character-key-shortcuts", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:timing-adjustable", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:pause-stop-hide", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:three-flashes-or-below-threshold", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:bypass-blocks", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:page-titled", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:focus-order", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:link-purpose-in-context", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:multiple-ways", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:headings-and-labels", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:focus-visible", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:pointer-gestures", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:pointer-cancellation", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:label-in-name", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:motion-actuation", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:language-of-page", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:language-of-parts", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:on-focus", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:on-input", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:consistent-navigation", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:consistent-identification", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:error-identification", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:labels-or-instructions", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:error-suggestion", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:error-prevention-legal-financial-data)", + "earl:subject": "_:subject", + "earl:outcome": "earl:inapplicable", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:parsing", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:name-role-value", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + }, + { + "earl:test": "WCAG21:status-messages", + "earl:subject": "_:subject", + "earl:outcome": "earl:untested", + "dct:description": "", + "earl:mode": "earl:unknownMode", + "@type": ["earl:TestResult", "earl:Assertion"] + } + ] +} diff --git a/components/baseline/_base.scss b/components/baseline/_base.scss index e144eb7155..05a6009c91 100644 --- a/components/baseline/_base.scss +++ b/components/baseline/_base.scss @@ -2,13 +2,6 @@ * Components styles */ -// Step by step navigation used on Advanced service template -.gc-stp-stp { - border-bottom: solid 1px #ccc; - margin-bottom: 30px; - margin-top: 15px; -} - // theme default color .bg-gctheme { background-color: #355688; diff --git a/components/gc-chckbxrdio/index.json-ld b/components/gc-chckbxrdio/index.json-ld index 4359ef6b3e..91201dfe2a 100644 --- a/components/gc-chckbxrdio/index.json-ld +++ b/components/gc-chckbxrdio/index.json-ld @@ -11,10 +11,10 @@ "fr": "Cases à cocher et boutons radio" }, "description": { - "en": "Checkboxes and radio buttons designed based on user experience testing", - "fr": "Cases à cocher et boutons radio conçu d'après des recherches d'expérience utilisateur" + "en": "Display check boxes and radio buttons that are bigger than natively provided by browsers and in-line with the Canada.ca design system.", + "fr": "Affiche des cases à cocher et boutons radio plus grand que ce qui est nativement offert par les navigateurs et qui est conforme avec les configurations de conception de Canada.ca." }, - "modified": "2021-05-07", + "modified": "2023-09-06", "componentName": "gc-chckbxrdio", "status": "stable", "pages": { diff --git a/components/gc-features/index.json-ld b/components/gc-features/index.json-ld index 289b826424..2070708520 100644 --- a/components/gc-features/index.json-ld +++ b/components/gc-features/index.json-ld @@ -11,10 +11,10 @@ "fr": "Promotions contextuelles" }, "description": { - "en": "Context-specific features", - "fr": "Promotions contextuelles" + "en": "In-page components used to promote government activities, initiatives, programs and services.", + "fr": "Des composantes d’intérieur de page servant à promouvoir des activités, des initiatives, des programmes et des services pangouvernementaux." }, - "modified": "2022-10-21", + "modified": "2023-09-05", "componentName": "gc-features", "status": "stable", "pages": { diff --git a/components/gc-features/samples/features.html b/components/gc-features/samples/features.html index da6e088094..fc64cd4ed9 100644 --- a/components/gc-features/samples/features.html +++ b/components/gc-features/samples/features.html @@ -15,7 +15,7 @@

                Features

                {% for i in (1..3) %}
                -
                +
                {%- if page.language == "fr" -%}

                [Lien vers l’élément en vedette]

                diff --git a/components/gc-follow-us/samples/follow.html b/components/gc-follow-us/samples/follow.html index 7f5bd635a2..d0f00b639f 100644 --- a/components/gc-follow-us/samples/follow.html +++ b/components/gc-follow-us/samples/follow.html @@ -12,9 +12,9 @@ {%- if page.language == "fr" -%}

                Suivez :

                  -
                • +
                • -
                • YouTube
                • +
                • YouTube
                • Flickr
                • Pinterest
                • LinkedIn
                • @@ -26,9 +26,9 @@

                  Suivez :

                  {%- else -%}

                  Follow:

                    -
                  • +
                  • -
                  • YouTube
                  • +
                  • YouTube
                  • Flickr
                  • Pinterest
                  • LinkedIn
                  • diff --git a/components/gc-servinfo/index.json-ld b/components/gc-servinfo/index.json-ld index ecbb0173e5..36879c5f22 100644 --- a/components/gc-servinfo/index.json-ld +++ b/components/gc-servinfo/index.json-ld @@ -11,10 +11,10 @@ "fr": "Services et information" }, "description": { - "en": "Services and information", - "fr": "Services et information" + "en": "Used to present sets of links with accompanying descriptions.", + "fr": "Utilisé pour présenter des ensembles de liens accompagnés de descriptions." }, - "modified": "2021-07-02", + "modified": "2023-09-06", "componentName": "gc-servinfo", "status": "stable", "pages": { diff --git a/components/gc-stp-stp/_base.scss b/components/gc-stp-stp/_base.scss new file mode 100644 index 0000000000..4904cd13b8 --- /dev/null +++ b/components/gc-stp-stp/_base.scss @@ -0,0 +1,20 @@ +/* + * + * Web Experience Toolkit (WET) / Boîte à outils de l'expérience Web (BOEW) + * wet-boew.github.io/wet-boew/License-en.html / wet-boew.github.io/wet-boew/Licence-fr.html + * + * + * GC Step by step navigation +*/ + +.gc-stp-stp { + border-bottom: solid 1px #ccc; + margin-bottom: 30px; + margin-top: 15px; + + ul:not(.col-md-12), ol:not(.col-md-12) { + margin-left: 0; + margin-right: 0; + padding-left: 0; + } +} diff --git a/components/gc-stp-stp/_screen-sm-min.scss b/components/gc-stp-stp/_screen-sm-min.scss new file mode 100644 index 0000000000..820b048d14 --- /dev/null +++ b/components/gc-stp-stp/_screen-sm-min.scss @@ -0,0 +1,16 @@ +/* + * + * Web Experience Toolkit (WET) / Boîte à outils de l'expérience Web (BOEW) + * wet-boew.github.io/wet-boew/License-en.html / wet-boew.github.io/wet-boew/Licence-fr.html + * + * + * GC Step by step navigation +*/ + +.gc-stp-stp { + ul, ol { + &:not(.lst-spcd) li { + margin-bottom: 10px; + } + } +} diff --git a/components/gc-stp-stp/gc-stp-stp-doc-en.html b/components/gc-stp-stp/gc-stp-stp-doc-en.html new file mode 100644 index 0000000000..2c196bc0fa --- /dev/null +++ b/components/gc-stp-stp/gc-stp-stp-doc-en.html @@ -0,0 +1,128 @@ +--- +title: Step by Step navigation +language: en +description: Step by Step navigation +dateModified: 2023-06-28 +altLangPage: gc-stp-stp-doc-fr.html +--- + + + +
                    +
                    Status
                    +
                    Stable
                    +
                    Type
                    +
                    Canada.ca design pattern
                    +
                    Last review
                    +
                    2023-09-05
                    +
                    Guidance
                    +
                    Step by step navigation (service initiation pages): Canada.ca design system
                    +
                    Technical name
                    +
                    +
                      +
                    • gc-stp-stp
                    • +
                    +
                    +
                    + +

                    Purpose

                    +

                    Shows links to each step in initiating the service and highlights the currently selected step.

                    + +

                    Working example

                    + + +

                    How to implement

                    +
                      +
                    1. Create a <div> with the CSS class gc-stp-stp.
                    2. +
                    3. Within this <div>, create either a <ul> or <ol> (the correct tag will depend on whether or not your pages have a logical order. To this <ul> or <ol> add the CSS classes row and toc.
                    4. +
                    5. Within this <ul> or <ol>, add your <li> and add the following CSS classes: col-md-4 and col-sm-6 to every <li>.
                    6. +
                    7. Within those <li>, create a <a> with the CSS class list-group-item.
                    8. +
                    9. To the current page's <a> add the CSS class active.
                    10. +
                    +

                    Note: this component should be inserted directly after the byline.

                    + +

                    Evaluation and report

                    +

                    There is no evaluation and report available for this component.

                    + +

                    API (Version 1.0)

                    + + + + + + + + + + + + + +
                    CSS ClassTemplateVisual renderingSchema
                    Version 1.0Version 2.0Version 1.0n.a.
                    + +

                    CSS Class (v1.0)

                    +
                    +
                    gc-stp-stp
                    +
                    Component: Step by Step navigation
                    +
                    +
                    + Version notes +
                    +
                    Version 1.0
                    +
                    +
                      +
                    • Created: .gc-stp-stp
                    • +
                    +
                    +
                    +
                    + +

                    Template (v2.0)

                    +{%- highlight html -%} + +{%- endhighlight -%} + +
                    + Version notes +
                    +
                    Version 2.0
                    +
                    +
                      +
                    • Removed <div class="row"> wrapping the list.
                    • +
                    • Applied the CSS class row directly to the list.
                    • +
                    • Removed the CSS classes lst-spcd and col-md-12 from the list.
                    • +
                    • Removed clr-lft-[breakpoint] CSS classes.
                    • +
                    +
                    +
                    Version 1.0
                    +
                    +
                      +
                    • Initial template
                    • +
                    +
                    +
                    +
                    + +

                    Visual rendering (v1.0)

                    +
                    + Version notes +
                    +
                    Version 1.0
                    +
                    +
                      +
                    • Original rendering
                    • +
                    +
                    +
                    +
                    diff --git a/components/gc-stp-stp/gc-stp-stp-doc-fr.html b/components/gc-stp-stp/gc-stp-stp-doc-fr.html new file mode 100644 index 0000000000..79854e87c7 --- /dev/null +++ b/components/gc-stp-stp/gc-stp-stp-doc-fr.html @@ -0,0 +1,126 @@ +--- +title: Navigation étape par étape +language: fr +description: Navigation étape par étape +dateModified: 2023-06-28 +altLangPage: gc-stp-stp-doc-en.html +--- + + + +
                    +
                    Statut
                    +
                    Stable
                    +
                    Type
                    +
                    Conception de Canada.ca
                    +
                    Dernière revue
                    +
                    2023-09-05
                    +
                    Orientation
                    +
                    Navigation étape par étape (pages de lancement d'un service) - Configuration de conception de Canada.ca
                    +
                    Nom technique
                    +
                    +
                      +
                    • gc-stp-stp
                    • +
                    +
                    +
                    + +

                    But

                    +

                    Affiche les liens pour chacune des étapes de lancement d'un service et met en surbrillance l'étape sélectionnée.

                    + +

                    Comment mettre en œuvre

                    +
                      +
                    1. Créez un <div> avec la classe CSS gc-stp-stp.
                    2. +
                    3. Dans ce <div>, créez soit un <ul> soit un <ol> (la bonne balise dépendra de si vos pages ont un ordre logique ou non. À ce <ul> ou <ol> ajoutez les classes CSS row et toc.
                    4. +
                    5. Dans ce <ul> ou <ol>, ajoutez vos <li> et ajoutez à chacun d'eux les classes CSS suivantes : col-md-4 et col-sm-6.
                    6. +
                    7. Dans ces <li>, créez un <a> avec la classe CSS list-group-item.
                    8. +
                    9. Au <a> de la page courante, ajoutez la classe CSS active.
                    10. +
                    +

                    Remarque : ce composant doit être inséré directement après la signature.

                    + +

                    Exemples pratiques

                    + + +

                    Évaluation et rapport

                    +

                    Il n'y a pas d'évaluation et de rapport disponible pour ce composant.

                    + +

                    API (Version 1.0)

                    + + + + + + + + + + + + + +
                    Classe CSSGabaritRendu visuelSchema
                    Version 1.0Version 2.0Version 1.0s.o.
                    +

                    Classe CSS (v1.0)

                    +
                    +
                    gc-stp-stp
                    +
                    Composant : Navigation étape par étape
                    +
                    +
                    + Notes sur les versions +
                    +
                    Version 1.0 (v8.0)
                    +
                    +
                      +
                    • Crée : .gc-stp-stp
                    • +
                    +
                    +
                    +
                    +

                    Gabarit (v2.0)

                    +{%- highlight html -%} + +{%- endhighlight -%} + +
                    + Notes sur les versions +
                    +
                    Version 2.0
                    +
                    +
                      +
                    • Suppression du <div class="row"> enveloppant la liste.
                    • +
                    • Ajout de la classe CSS row directement à la liste.
                    • +
                    • Suppression des classes CSS lst-spcd et col-md-12 de la liste.
                    • +
                    • Suppressions des classes CSS clr-lft-[breakpoint].
                    • +
                    +
                    +
                    Version 1.0
                    +
                    +
                      +
                    • Gabarit initial
                    • +
                    +
                    +
                    +
                    + +

                    Rendu visuel (v1.0)

                    +
                    + Notes sur les versions +
                    +
                    Version 1.0
                    +
                    +
                      +
                    • Rendu visuel initial
                    • +
                    +
                    +
                    +
                    diff --git a/components/gc-stp-stp/gc-stp-stp-en.html b/components/gc-stp-stp/gc-stp-stp-en.html new file mode 100644 index 0000000000..05bebf5067 --- /dev/null +++ b/components/gc-stp-stp/gc-stp-stp-en.html @@ -0,0 +1,61 @@ +--- +{ + "title": "[Service name] - 2. [Step / section page name]", + "secondTitle": "2. [Step / section page name]", + "language": "en", + "altLangPage": "gc-stp-stp-fr.html", + "breadcrumbs": [ + { "title": "[Institution name]", "link": "#" }, + { "title": "[Topic name]", "link": "#" }, + { "title": "[Service name]", "link": "#" } + ], + "secondlevel": false, + "dateModified": "2023-09-05", + "share": "true", + "steps": [ + { "name": "1. [Step / section page name]", "link": "index-en.html" }, + { "name": "2. [Step / section page name]", "isActive": true }, + { "name": "3. [Step / section page name]", "link": "page3-en.html" }, + { "name": "4. [Step / section page name]", "link": "page4-en.html" }, + { "name": "5. [Step / section page name]", "link": "page5-en.html" }, + { "name": "6. [Step / section page name]", "link": "page6-en.html" } + ] +} +--- + + +{%- include gc-stp-stp/gc-stp-stp.html -%} + +
                    +
                    +

                    2. [Step / section page name]

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et a adipisci nostrum optio dolorum sint ipsa facilis nisi quisquam laboriosam.

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Praesentium odio adipisci ad neque distinctio quod molestias, molestiae accusamus quo aspernatur expedita blanditiis quam! Esse cum modi atque, beatae aliquam, dolor.

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem aliquid hic numquam obcaecati ea, laborum accusamus culpa atque voluptate distinctio et omnis! Alias, beatae, tenetur.

                    +
                    +

                    [Sub heading]

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corrupti cupiditate voluptatem praesentium, facilis corporis magni esse reiciendis distinctio. Vitae totam iste porro, esse facere obcaecati? Laborum earum minus harum enim.

                    +
                    +
                    +

                    [Sub heading]

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsa hic minima magni nesciunt nam. Facilis perferendis, adipisci voluptates, enim illo perspiciatis molestias itaque iste qui distinctio asperiores quidem voluptatum sunt.

                    +
                    + +
                    + +
                    diff --git a/components/gc-stp-stp/gc-stp-stp-fr.html b/components/gc-stp-stp/gc-stp-stp-fr.html new file mode 100644 index 0000000000..2d179891c7 --- /dev/null +++ b/components/gc-stp-stp/gc-stp-stp-fr.html @@ -0,0 +1,61 @@ +--- +{ + "title": "[Nom du service] - 2. [Nom de la page de la section ou de l’étape]", + "secondTitle": "2. [Nom de la page de la section ou de l’étape]", + "language": "fr", + "altLangPage": "gc-stp-stp-en.html", + "breadcrumbs": [ + { "title": "[Nom de l'institution]", "link": "#" }, + { "title": "[Nom du sujet]", "link": "#" }, + { "title": "[Nom du service]", "link": "#" } + ], + "secondlevel": false, + "dateModified": "2023-09-05", + "share": "true", + "steps": [ + { "name": "1. [Nom de la page de la section ou de l’étape]", "link": "index-fr.html" }, + { "name": "2. [Nom de la page de la section ou de l’étape]", "isActive": true }, + { "name": "3. [Nom de la page de la section ou de l’étape]", "link": "page3-fr.html" }, + { "name": "4. [Nom de la page de la section ou de l’étape]", "link": "page4-fr.html" }, + { "name": "5. [Nom de la page de la section ou de l’étape]", "link": "page5-fr.html" }, + { "name": "6. [Nom de la page de la section ou de l’étape]", "link": "page6-fr.html" } + ] +} +--- + + +{%- include gc-stp-stp/gc-stp-stp.html -%} + +
                    +
                    +

                    2. [Nom de la page de la section ou de l’étape]

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Et a adipisci nostrum optio dolorum sint ipsa facilis nisi quisquam laboriosam.

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Praesentium odio adipisci ad neque distinctio quod molestias, molestiae accusamus quo aspernatur expedita blanditiis quam! Esse cum modi atque, beatae aliquam, dolor.

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem aliquid hic numquam obcaecati ea, laborum accusamus culpa atque voluptate distinctio et omnis! Alias, beatae, tenetur.

                    +
                    +

                    [Sous-titre]

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Corrupti cupiditate voluptatem praesentium, facilis corporis magni esse reiciendis distinctio. Vitae totam iste porro, esse facere obcaecati? Laborum earum minus harum enim.

                    +
                    +
                    +

                    [Sous-titre]

                    +

                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsa hic minima magni nesciunt nam. Facilis perferendis, adipisci voluptates, enim illo perspiciatis molestias itaque iste qui distinctio asperiores quidem voluptatum sunt.

                    +
                    + +
                    + +
                    diff --git a/components/gc-stp-stp/includes/gc-stp-stp.html b/components/gc-stp-stp/includes/gc-stp-stp.html new file mode 100644 index 0000000000..d69ce47324 --- /dev/null +++ b/components/gc-stp-stp/includes/gc-stp-stp.html @@ -0,0 +1,15 @@ +{%- if page.steps -%} +
                    +
                      + {%- for step in page.steps -%} +
                    • + {%- if step.isActive == true or step.isActive == "true" -%} + {{ step.name }} + {%- else -%} + {{ step.name }} + {%- endif -%} +
                    • + {%- endfor -%} +
                    +
                    +{%- endif -%} diff --git a/components/gc-stp-stp/index.json-ld b/components/gc-stp-stp/index.json-ld new file mode 100644 index 0000000000..1821111432 --- /dev/null +++ b/components/gc-stp-stp/index.json-ld @@ -0,0 +1,58 @@ +{ + "@context": { + "@version": 1.1, + "dct": "http://purl.org/dc/terms/", + "title": { "@id": "dct:title", "@container": "@language" }, + "description": { "@id": "dct:description", "@container": "@language" }, + "modified": "dct:modified" + }, + "title": { + "en": "Step by Step navigation", + "fr": "Navigation étape par étape" + }, + "description": { + "en": "Step by Step navigation designed based on user experience testing", + "fr": "Navigation étape par étape conçu d'après des recherches d'expérience utilisateur" + }, + "modified": "2023-06-28", + "componentName": "gc-stp-stp", + "status": "stable", + "pages": { + "docs": [ + { + "title": "Step by Step navigation", + "language": "en", + "path": "gc-stp-stp-doc-en.html" + }, + { + "title": "Navigation étape par étape", + "language": "fr", + "path": "gc-stp-stp-doc-fr.html" + } + ], + "examples": [ + { + "title": "Step by Step navigation", + "language": "en", + "path": "gc-stp-stp-en.html" + }, + { + "title": "Navigation étape par étape", + "language": "fr", + "path": "gc-stp-stp-fr.html" + } + ], + "spec": [ + { + "title": "Navigation étape par étape : Système de conception de Canada.ca", + "language": "fr", + "url": "https://conception.canada.ca/modeles-recommandes/pages-lancement-service.html" + }, + { + "title": "Step by Step navigation: Canada.ca design system", + "language": "en", + "url": "https://design.canada.ca/recommended-templates/service-initiation-pages.html" + } + ] + } +} diff --git a/components/gc-subway/index.json-ld b/components/gc-subway/index.json-ld index 07e0679bb4..6700f7ac6a 100644 --- a/components/gc-subway/index.json-ld +++ b/components/gc-subway/index.json-ld @@ -7,14 +7,14 @@ "modified": "dct:modified" }, "title": { - "en": "Subway map menu", - "fr": "Menu par carte de métro" - }, - "description": { "en": "GC Subway map menu", "fr": "GC menu par carte de métro" }, - "modified": "2020-12-07", + "description": { + "en": "Break up long and complex content into pages that each focus on a step or specific answer people need before moving to the next step or section.", + "fr": "Diviser du contenu long et complexe en pages qui se concentrent chacune sur une étape ou une réponse spécifique dont les gens ont besoin avant de passer à l'étape ou à la section suivante." + }, + "modified": "2023-09-26", "componentName": "gc-subway", "status": "provisional", "todos": [ diff --git a/components/gc-table/_screen-sm-max.scss b/components/gc-table/_screen-sm-max.scss index d300be3321..389e71b1b7 100644 --- a/components/gc-table/_screen-sm-max.scss +++ b/components/gc-table/_screen-sm-max.scss @@ -92,7 +92,7 @@ $gc-tables-tr-margin-vertical: .625em; } } td { - display: block; + display: flow-root; font-size: 1em; text-align: right; &::before { diff --git a/components/gc-table/gc-table-en.html b/components/gc-table/gc-table-en.html index 4c5d8b1f4a..3587ba4373 100644 --- a/components/gc-table/gc-table-en.html +++ b/components/gc-table/gc-table-en.html @@ -81,6 +81,12 @@

                    Responsive cards

                    1,377,016 15.9% + + Calgary + + 1,246,337 + N/A + diff --git a/components/gc-table/gc-table-fr.html b/components/gc-table/gc-table-fr.html index 64cbbf7818..1ad4fca732 100644 --- a/components/gc-table/gc-table-fr.html +++ b/components/gc-table/gc-table-fr.html @@ -83,6 +83,12 @@

                    Responsive cards

                    1,377,016 15.9% + + Calgary + + 1,246,337 + N/A + diff --git a/components/gc-table/index.json-ld b/components/gc-table/index.json-ld index bef28c6919..0d0f63af15 100644 --- a/components/gc-table/index.json-ld +++ b/components/gc-table/index.json-ld @@ -11,10 +11,10 @@ "fr": "Tableaux GC" }, "description": { - "en": "Simple responsive gc tables", - "fr": "Tableau simple responsive pour le GC" + "en": "A simple CSS solution to turn tables into responsive cards for smaller windows.", + "fr": "Une solution CSS simple pour transformer les tables en cartes réactives pour des fenêtres plus petites." }, - "modified": "2020-10-16", + "modified": "2023-09-05", "componentName": "gc-table", "status": "provisional", "todos": [ diff --git a/components/header-rwd/index.json-ld b/components/header-rwd/index.json-ld index 336f8cec80..fd2984c43e 100644 --- a/components/header-rwd/index.json-ld +++ b/components/header-rwd/index.json-ld @@ -11,10 +11,10 @@ "fr": "Entête well responsive" }, "description": { - "en": "Context-specific features", - "fr": "Liste - Style additionel" + "en": "Support use case for promotional page header or panel section header the width of the well header is readjusted based on the view port.", + "fr": "Cas d'utilisation de prise en charge pour l'en-tête de page promotionnelle ou l'en-tête de section de panneau, la largeur de l'entête well responsive est réajustée en fonction de l'écran." }, - "modified": "2019-05-09", + "modified": "2023-09-06", "componentName": "header-rwd", "status": "stable", "pages": { diff --git a/index-en.md b/index-en.md index be1f455ec8..4d20808f42 100644 --- a/index-en.md +++ b/index-en.md @@ -1,10 +1,11 @@ --- title: GCWeb, the WET-BOEW Canada.ca theme altLangPage: index-fr.html -dateModified: 2023-08-29 +dateModified: 2023-09-26 description: "Home page describing all the components of the Canada.ca theme, named GCWeb." layout: no-container language: en +feedback: true css: - href: https://use.fontawesome.com/releases/v5.8.1/css/all.css integrity: sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf @@ -18,7 +19,7 @@ css:

                    The page templates and design patterns below comprise a reference implementation of the Canada.ca design system, including the mandatory requirement of the Content and Information Architecture (C&IA) Specification. Government of Canada departments and agencies can contribute additional patterns and templates via GCWeb github repository.

                -

                Download GCWeb theme v13.7.2
                +

                Download GCWeb theme v13.9.1
                ( - Release notes)

                @@ -33,6 +34,7 @@ css:
              • Templates
              • Méli-mélo and thematics
              • Sites and global functionality
              • +
              • Wet-boew
              • Other documentation
              • Implementing / Developing
              @@ -58,6 +60,8 @@ css: Sites and global
            • + Wet-boew +
            • Other
            • @@ -475,7 +479,101 @@ css:
            • {% endfor %}
            - + +

            Wet-boew

            +
              + {% for wetboew in site.data[ "wet-boew" ] %} + {% assign list-pages = wetboew.pages %} +
            • +
              +

              {{ wetboew.title[ page.language ] }} + {% if wetboew.status == "stable" %} + State: {{ comp_status[ wetboew.status ] }} + {% elsif wetboew.status == "provisional" %} + State: {{ comp_status[ wetboew.status ] }} + {% elsif wetboew.status == "deprecated" %} + State: {{ comp_status[ wetboew.status ] }} + {% else %} + State: Undefined + {% endif %} +

              +
              +

              {{ wetboew.description[ page.language ] | default: "[Short description of the wetboew]" }}

              + + {% assign mainExamples = list-pages.examples | where: "language", page.language | first %} +
                + {% if mainExamples %} +
              • + {% if mainExamples.path %} + Working example + {% elsif mainExamples.url %} + Working example + {% else %} + Working example + {% endif %} + {% endif %} + + {% if list-pages.docs %} + + {% assign docs = list-pages.docs | where: "language", page.language %} + + {% for doc in docs %} + {% if doc.url %} +
              • Documentation
              • + {% endif %} + {% endfor %} + {% endif %} +
              • Source code
              • +
              + +
              All examples and info +
                + {% for pgGroup in list-pages %} + {% assign grpkey = pgGroup[0] %} +
              • {{ page_group[ grpkey ] | default: "Unknown group" }} +
                  + {% assign examples = pgGroup[1] %} + {% for example in examples %} + {% if example.path %} +
                • {{ example.title }}
                • + {% elsif example.url %} +
                • {{ example.title }}
                • + {% else %} +
                • {{ example.title }}
                • + {% endif %} + {% endfor %} +
                +
              • + {% endfor %} +
              +
              +
              +
              +
            • + {% endfor %} +
            +

            Other documentation

            diff --git a/index-fr.md b/index-fr.md index a1de94fe22..9a5c383dcd 100644 --- a/index-fr.md +++ b/index-fr.md @@ -1,10 +1,11 @@ --- title: GCWeb, le thème WET-BOEW de Canada.ca altLangPage: index-en.html -dateModified: 2023-08-29 +dateModified: 2023-09-26 description: "Page d'accueil décrivant l'ensemble des composants du thème de Canada.ca, nommé GCWeb." layout: no-container language: fr +feedback: true css: - href: https://use.fontawesome.com/releases/v5.8.1/css/all.css integrity: sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf @@ -18,7 +19,7 @@ css:

            Les gabarits et les conceptions communes si dessous sont une référence d'implémentation du Système de conception de Canada.ca, incluant les exigences obligatoire de la spécifications du contenu et de l’architecture de l'information (C&AI) pour Canada.ca. Les ministères et organisme du gouvernement du Canada peuvent y contribuer en publiant leur modèle et leur conception commune via le dépôt github de GCWeb.

            @@ -33,6 +34,7 @@ css:
          • Gabarits
          • Méli-mélo et thématiques
          • Fonctionnalités globales et de sites
          • +
          • Wet-boew
          • Autre documentation
          • Implémenter / Développer
          @@ -56,6 +58,8 @@ css:
        • Global et de sites +
        • + Wet-boew
        • Autre @@ -475,6 +479,101 @@ css:
        • {% endfor %}
        + +

        Wet-boew

        +
          + {% for wetboew in site.data[ "wet-boew" ] %} + {% assign list-pages = wetboew.pages %} +
        • +
          +

          {{ wetboew.title[ page.language ] }} + {% if wetboew.status == "stable" %} + State: {{ comp_status[ wetboew.status ] }} + {% elsif wetboew.status == "provisional" %} + State: {{ comp_status[ wetboew.status ] }} + {% elsif wetboew.status == "deprecated" %} + State: {{ comp_status[ wetboew.status ] }} + {% else %} + State: Undefined + {% endif %} +

          +
          +

          {{ wetboew.description[ page.language ] | default: "[Courte description de wetboew]" }}

          + + {% assign mainExamples = list-pages.examples | where: "language", page.language | first %} +
            + {% if mainExamples %} +
          • + {% if mainExamples.path %} + Working example + {% elsif mainExamples.url %} + Working example + {% else %} + Working example + {% endif %} + {% endif %} + + {% if list-pages.docs %} + + {% assign docs = list-pages.docs | where: "language", page.language %} + + {% for doc in docs %} + {% if doc.url %} +
          • Documentation
          • + {% endif %} + {% endfor %} + {% endif %} +
          • Source code
          • +
          + +
          All examples and info +
            + {% for pgGroup in list-pages %} + {% assign grpkey = pgGroup[0] %} +
          • {{ page_group[ grpkey ] | default: "Unknown group" }} +
              + {% assign examples = pgGroup[1] %} + {% for example in examples %} + {% if example.path %} +
            • {{ example.title }}
            • + {% elsif example.url %} +
            • {{ example.title }}
            • + {% else %} +
            • {{ example.title }}
            • + {% endif %} + {% endfor %} +
            +
          • + {% endfor %} +
          +
          +
          +
          +
        • + {% endfor %} +
        +

        Autre documentation

        diff --git "a/m\303\251li-m\303\251lo/2023-09-collection-sort/index.html" "b/m\303\251li-m\303\251lo/2023-09-collection-sort/index.html" new file mode 100644 index 0000000000..39a8272689 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-collection-sort/index.html" @@ -0,0 +1,346 @@ +--- +{ + "title": "Collection sort", + "language": "en", + "dateModified": "2023-09-14", + "script": [ + "js/collection-sort.js" + ] +} +--- +

        Sort a collection of elements based on CSS selectors.

        + +

        GCWeb implementation plan

        + +{% assign implPlan = site.pages | where: "output", "false" | where: "componentName", "2023-09-collection-sort" | first %} + +
          +{% for deliverable in implPlan.implementationPlan %} +
        • {{ deliverable.due }} - {{ deliverable.what }}
        • +{% endfor %} +
        + +

        Todo and for future consideration

        +
          +{% for todo in implPlan.todos %} +
        • {{ todo }}
        • +{% endfor %} +
        + +

        Sponsor: {{ implPlan.sponsor }}

        + +

        Classes used

        +
          +
        • collection-sort
        • +
        + + +

        Collection sort settings

        + +
        
        +"sort":[{"selector":".cssSelector", "type":"text", "order":"asc"}],
        +"section":".sort-collection",
        +"selector":".sort-item"
        +
        + +
        +
        sort
        +
        +"sort":[{"selector":".cssSelector", "type":"text", "order":"asc"}] +

        An array of objects defining the series of sorts to do.

        +
        +
        selector
        +
        The value to base the sort on
        +
        type
        +
        "text" or "numeric" for sorting as text or numbers
        +
        order
        +
        "asc" ascending sort, or "desc" descending sort
        +
        +
        +
        section
        +
        +"section":".sort-collection" +

        Selector defining the collection of items to be sorted.

        +
        +
        selector
        +
        +"selector":".sort-item" +

        Selector defining the items in the collection to be sorted.

        +
        +
        + +

        Sort paragraphs by first sentence descending order

        + +

        Original paragraphs

        + +

        Mauris massa massa, porta euismod pellentesque ac, placerat eget purus. Mauris sit amet September 25, 2023 finibus ex. Ut fringilla sem ut faucibus aliquam. Morbi nec dolor mauris. Nam quis molestie odio.

        + +

        Nulla sed risus et nunc ultrices luctus. Donec rutrum congue nunc, convallis fringilla velit finibus vitae. Donec massa lectus, consectetur September 3, 2023 nec consequat sit amet, rutrum at dui. Mauris eget nunc vel arcu pretium efficitur.

        + +

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc vulputate dui nec est ullamcorper, in sodales augue lobortis. Duis fermentum nibh ac risus sagittis malesuada. Quisque feugiat varius tellus, ut mattis nunc September 12, 2023 .

        + +

        Sorted paragraphs

        +
        + +
        +

        Mauris massa massa, porta euismod pellentesque ac, placerat eget purus. Mauris sit amet September 25, 2023 finibus ex. Ut fringilla sem ut faucibus aliquam. Morbi nec dolor mauris. Nam quis molestie odio.

        + +

        Nulla sed risus et nunc ultrices luctus. Donec rutrum congue nunc, convallis fringilla velit finibus vitae. Donec massa lectus, consectetur September 3, 2023 nec consequat sit amet, rutrum at dui. Mauris eget nunc vel arcu pretium efficitur.

        + +

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc vulputate dui nec est ullamcorper, in sodales augue lobortis. Duis fermentum nibh ac risus sagittis malesuada. Quisque feugiat varius tellus, ut mattis nunc September 12, 2023 .

        +
        + +
        + + +

        Sort paragraphs with numeric sort option

        + +

        Original paragraphs

        + +

        Mauris massa massa, porta euismod pellentesque ac, placerat eget purus. Mauris sit amet September 25, 2023 finibus ex. Ut fringilla sem ut faucibus aliquam. Morbi nec dolor mauris. Nam quis molestie odio.

        + +

        Nulla sed risus et nunc ultrices luctus. Donec rutrum congue nunc, convallis fringilla velit finibus vitae. Donec massa lectus, consectetur September 3, 2023 nec consequat sit amet, rutrum at dui. Mauris eget nunc vel arcu pretium efficitur.

        + +

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc vulputate dui nec est ullamcorper, in sodales augue lobortis. Duis fermentum nibh ac risus sagittis malesuada. Quisque feugiat varius tellus, ut mattis nunc September 12, 2023 .

        + +

        Sorted paragraphs

        +
        + +
        +

        Mauris massa massa, porta euismod pellentesque ac, placerat eget purus. Mauris sit amet September 25, 2023 finibus ex. Ut fringilla sem ut faucibus aliquam. Morbi nec dolor mauris. Nam quis molestie odio.

        + +

        Nulla sed risus et nunc ultrices luctus. Donec rutrum congue nunc, convallis fringilla velit finibus vitae. Donec massa lectus, consectetur September 3, 2023 nec consequat sit amet, rutrum at dui. Mauris eget nunc vel arcu pretium efficitur.

        + +

        Lorem ipsum dolor sit amet, consectetur adipiscing elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nunc vulputate dui nec est ullamcorper, in sodales augue lobortis. Duis fermentum nibh ac risus sagittis malesuada. Quisque feugiat varius tellus, ut mattis nunc September 12, 2023 .

        +
        + +
        + + + +

        Sort simple list

        + +

        Original list

        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        + +

        Sorted list

        +
        + +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        + +
        + +

        Sort simple list with multiple sorts

        + +

        Original list

        +
          +
        • 4 Orange
        • +
        • 4 Apple
        • +
        • 1 Pear
        • +
        • 2 Strawberry
        • +
        • 3 Peach
        • +
        + +

        Sorted list - sort by term followed by count

        +
        + +
          +
        • 4 Orange
        • +
        • 4 Apple
        • +
        • 1 Pear
        • +
        • 2 Strawberry
        • +
        • 3 Peach
        • +
        + +
        + +

        Sorted list - sort by count followed by term

        +
        + +
          +
        • 4 Orange
        • +
        • 4 Apple
        • +
        • 1 Pear
        • +
        • 2 Strawberry
        • +
        • 3 Peach
        • +
        + +
        + + +

        Sort multiple lists

        + +

        Original lists

        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        + +

        Sorted lists

        +
        + +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        + +
        + + +

        Sort items spread across multiple lists

        + +

        Original lists

        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        + +

        Sorted lists

        +
        + +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        +
          +
        • Orange
        • +
        • Apple
        • +
        • Pear
        • +
        • Strawberry
        • +
        • Peach
        • +
        +
        +
        + +
        diff --git "a/m\303\251li-m\303\251lo/2023-09-collection-sort/js/collection-sort.js" "b/m\303\251li-m\303\251lo/2023-09-collection-sort/js/collection-sort.js" new file mode 100644 index 0000000000..0476bb91bd --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-collection-sort/js/collection-sort.js" @@ -0,0 +1,116 @@ +/** + * @title WET-BOEW Collection sort plugin + * @overview Plugin contained to show an example of how to create your custom WET plugin + * @license wet-boew.github.io/wet-boew/License-en.html / wet-boew.github.io/wet-boew/Licence-fr.html + * @author donmcdill + */ +( function( $, window, wb ) { +"use strict"; +/* + * Variable and function definitions. + * These are global to the plugin - meaning that they will be initialized once per page, + * not once per instance of plugin on the page. So, this is a good place to define + * variables that are common to all instances of the plugin on a page. + */ +let wait; +var componentName = "collection-sort", + selector = "." + componentName, + initEvent = "wb-init" + selector, + $document = wb.doc, + defaults = {}, + /** + * @method init + * @param {jQuery Event} event Event that triggered the function call + */ + init = function( event ) { + // Start initialization + // returns DOM object = proceed with init + // returns undefined = do not proceed with init (e.g., already initialized) + var elm = wb.init( event, componentName, selector ), + $elm, + settings; + if ( elm ) { + $elm = $( elm ); + // ... Do the plugin initialisation + + + // Get the plugin JSON configuration set on attribute data-collection-sort + settings = $.extend( + true, + {}, + defaults, + window[ componentName ], + wb.getData( $elm, componentName ) + ); + // Call my custom event + $elm.trigger( "collection-sort", settings ); + // Identify that initialization has completed + wb.ready( $elm, componentName ); + } + }; +// Add your plugin event handler +$document.on( "collection-sort", selector, function( event, data ) { + var elm = event.currentTarget; + + function SortCollection(){ + + var sortContainers = elm.querySelectorAll(data.section); + + sortContainers.forEach(function(container){ + + var sortItems = container.querySelectorAll(data.selector); + + let sortArray = []; + let sortDestinationArray = []; + + sortItems.forEach( function (element) { + sortDestinationArray.push(element.parentElement); + + let sortObj = { + "elm" : element, + "sortVal" : "" + }; + + sortArray.push(sortObj); + }); + + data.sort.forEach( function(sort) { + + sortArray.forEach( function (sortObj) { + sortObj.sortVal = sortObj.elm.querySelector(sort.selector).innerHTML; + }); + + if(sort.type === "numeric"){ + if(sort.order === "desc") + sortArray.sort((a,b) => b.sortVal - a.sortVal); + else + sortArray.sort((a,b) => a.sortVal - b.sortVal); + }else{ + if(sort.order === "desc") + sortArray.sort((a,b) => b.sortVal.localeCompare(a.sortVal)); + else + sortArray.sort((a,b) => a.sortVal.localeCompare(b.sortVal)); + } + }); + + sortArray.forEach(function(element, index) { + sortDestinationArray[index].append(element.elm); + }); + + }); + } + if(data.section && data.selector && data.sort){ + SortCollection(); + + $document.on( "wb-contentupdated", selector, function( event, data ) { + SortCollection(); + }); + } +}); + + +// Bind the init event of the plugin +$document.on( "timerpoke.wb " + initEvent, selector, init ); +// Add the timer poke to initialize the plugin +wb.add( selector ); +} )( jQuery, window, wb ); diff --git "a/m\303\251li-m\303\251lo/2023-09-collection-sort/meta.md" "b/m\303\251li-m\303\251lo/2023-09-collection-sort/meta.md" new file mode 100644 index 0000000000..79e4d5d43b --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-collection-sort/meta.md" @@ -0,0 +1,41 @@ +--- +feature: méli-mélo +"@context": + "@version": 1.1 + dct: http://purl.org/dc/terms/ + title: + "@id": dct:title + "@container": "@language" + description: + "@id": dct:description + "@container": "@language" + modified: dct:modified + +title: + en: Collection sort +description: + en: Sort a collection of elements based on CSS selectors. +modified: 2023-09-08 +componentName: 2023-09-collection-sort +sponsor: Donald McDill Sites management, Service Canada + +pages: + examples: + - title: Collection sort + language: en + path: index.html + +implementationPlan: + - due: 2023-10 + what: Review and identify requirement to make this functionality enterprise ready. + - due: 2024-02 + what: Have this feature as provisional feature in GCWeb. + + +todos: + - Improve error handling + - Data attribute option for sort value + - Add tagfilter example + +output: false +--- diff --git "a/m\303\251li-m\303\251lo/2023-09-distance-calculator/index-fr.html" "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/index-fr.html" new file mode 100644 index 0000000000..0317529488 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/index-fr.html" @@ -0,0 +1,315 @@ +--- +{ + "title": "Calculateur de distance", + "language": "fr", + "dateModified": "2023-09-14", + "script": [ + "js/distance-calculator.js" + ], + "altLangPage": "index.html" +} +--- +

        Utiliser le service de géolocalisation Geogratis de Ressources naturelles Canada pour fournir la distance entre un ensemble de coordonnées connu et une adresse fournie par l'utilisateur.

        + +

        GCWeb plan de mise en œuvre

        + +{% assign implPlan = site.pages | where: "output", "false" | where: "componentName", "2023-09-distance-calculator" | first %} + +
          +{% for deliverable in implPlan.implementationPlan %} +
        • {{ deliverable.due }} - {{ deliverable.what }}
        • +{% endfor %} +
        + +

        À faire et pour considération future

        +
          +{% for todo in implPlan.todos %} +
        • {{ todo }}
        • +{% endfor %} +
        + +

        Parrainer: {{ implPlan.sponsor }}

        + +

        Classes utilisées

        +
          +
        • distance-calculator
        • +
        + + +

        Paramètres du calculateur de distance

        + +
        
        +"form":".distance-form",
        +"location":".distance-location",
        +"selector":".distance-item",
        +"section":".distance-items",
        +"target":".distance",
        +"sort":".distance-sort",
        +"display":{"selector":".distance-visible","removeClass":"hidden"},
        +"name":".distance-title"
        +
        + +
        +
        form
        +
        +"form":".distance-form" +

        Sélecteur de formulaire dans lequel l'emplacement est soumis

        +
        +
        location
        +
        +"location":".distance-location" +

        Sélecteur de saisie où l'emplacement est saisi

        +
        +
        selector
        +
        +"selector":".distance-item" +

        Sélecteur identifiant les éléments de la collection à mettre à jour avec la distance.

        +
        +
        section
        +
        +"section":".distance-items" +

        Sélecteur définissant la collection d'éléments

        +
        +
        target
        +
        +"target":".distance" +

        Sélecteur pour identifier l'élément à mettre à jour avec la distance formatée

        +
        +
        sort
        +
        +"sort":".distance-sort" +

        Sélecteur pour identifier l'élément à mettre à jour avec un numéro de distance non formaté

        +
        +
        display
        +
        +"display":{"selector":".distance-visible","removeClass":"hidden"} +

        Objet avec des options pour afficher le contenu lorsque la distance est calculée.

        +
        +
        selector
        +
        + "selector":".distance-visible" +

        Sélecteur pour tous les éléments à révéler

        +
        +
        removeClass
        +
        + "removeClass":"hidden" +

        Classe à supprimer lorsque les résultats sont affichés

        +
        +
        +
        +
        name
        +
        +"name":".distance-title" +

        Sélecteur pour identifier l'élément à mettre à jour avec le nom renvoyé pour l'emplacement fourni

        +
        +
        + + + +
        +

        Ajouter une distance à la liste des événements

        +
        +
        +
        + +

        Options de filtre

        +
        +
        + +
        + + +
        +
        + +
        +
        + +
        +
        +Langue +
          +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        +
        +
        +
        +
        +Emplacement +
          +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        +
        +
        +
        + + +
        +
        +
        +
        +

        Événements

        +
        + +
        + +
          + +
        • +

          Demandez tout à PAC

          +

          Vendredi 5 août 2022 | 12h à 13h

          +

          Emplacement: En ligne, Langue: Anglais, Français

          +
        • + +
        • +

          Misez sur des opportunités

          +

          Mercredi 10 août 2022 | 14h à 15h30

          +

          Emplacement: Vancouver, Langue: Anglais

          + + +
        • + +
        • +

          Faire affaire avec le gouvernement du Canada (Webinaire)

          +

          Jeudi 11 août 2022 | 12h à 14h

          +

          Emplacement: Ottawa, Langue: Anglais

          + + +
        • + +
        • +

          Demandez tout à PAC

          +

          Vendredi 12 août 2022 | 12h à 13h

          +

          Emplacement: En ligne, Langue: Anglais

          +
        • + +
        • +

          Misez sur des opportunités (Webinaire)

          +

          Jeudi 18 août 2022 | 12h à 14h

          +

          Emplacement: Ottawa, Langue: Anglais

          + + +
        • + +
        • +

          Demandez tout à PAC

          +

          Vendredi 19 août 2022 | 12h à 13h

          +

          Emplacement: En ligne, Langue: Anglais

          +
        • + +
        • +

          Workshop to register in the Supplier Registration Information (SRI) system and in the Indigenous ness Directory (IBD) for Indigenous-led businesses

          +

          Jeudi 25 août 2022 | 9h30 à 11h

          +

          Emplacement: Ottawa, Langue: Français

          + + +
        • + +
        • +

          Doing Business with the Government of Canada

          +

          Jeudi 25 août 2022 | 13h30 à 15h

          +

          Emplacement: Montréal, Langue: Français

          + + +
        • + +
        • +

          Faire affaire avec le gouvernement du Canada

          +

          Jeudi 25 août 2022 | 14h à 15h30

          +

          Emplacement: Vancouver, Langue: Anglais

          + + +
        • + +
        • +

          Demandez tout à PAC

          +

          Vendredi 26 août 2022 | 12h à 13h30

          +

          Emplacement: En ligne, Langue: Anglais

          +
        • + +
        • +

          Démystifier les marchés publics fédéraux et aperçu de l'innovation pour la défense, l'excellence et la rité (IDEaS)

          +

          Mardi 30 août 2022 | 10h à 11h

          +

          Emplacement: Toronto, Langue: Anglais

          + + +
        • + +
        • +

          Inscrivez-vous en tant que fournisseur et trouvez des opportunités sur Achatsetventes.gc.ca

          +

          Mardi 30 août 2022 | 13h30 à 15h

          +

          Emplacement: Montréal, Langue: Français

          + + +
        • + +
        • +

          Café virtuel sans rendez-vous sur l'approvisionnement fédéral

          +

          Mercredi 31 août 2022 | 15h à 4:00 PM

          +

          Emplacement: Toronto, Langue: Anglais

          + + +
        • +
        + +
        +
        +
        diff --git "a/m\303\251li-m\303\251lo/2023-09-distance-calculator/index.html" "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/index.html" new file mode 100644 index 0000000000..fbf88be297 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/index.html" @@ -0,0 +1,315 @@ +--- +{ + "title": "Distance calculator", + "language": "en", + "dateModified": "2023-09-14", + "script": [ + "js/distance-calculator.js" + ], + "altLangPage": "index-fr.html" +} +--- +

        Using the Natural Resources Canada Geogratis Geolocation service to provide the distance between a known set of coordinates and an address provided by the user.

        + +

        GCWeb implementation plan

        + +{% assign implPlan = site.pages | where: "output", "false" | where: "componentName", "2023-09-distance-calculator" | first %} + +
          +{% for deliverable in implPlan.implementationPlan %} +
        • {{ deliverable.due }} - {{ deliverable.what }}
        • +{% endfor %} +
        + +

        Todo and for future consideration

        +
          +{% for todo in implPlan.todos %} +
        • {{ todo }}
        • +{% endfor %} +
        + +

        Sponsor: {{ implPlan.sponsor }}

        + +

        Classes used

        +
          +
        • distance-calculator
        • +
        + + +

        Distance calculator settings

        + +
        
        +"form":".distance-form",
        +"location":".distance-location",
        +"selector":".distance-item",
        +"section":".distance-items",
        +"target":".distance",
        +"sort":".distance-sort",
        +"display":{"selector":".distance-visible","removeClass":"hidden"},
        +"name":".distance-title"
        +
        + +
        +
        form
        +
        +"form":".distance-form" +

        Selector for form where location is submitted

        +
        +
        location
        +
        +"location":".distance-location" +

        Selector for input where location is entered

        +
        +
        selector
        +
        +"selector":".distance-item" +

        Selector identifying the items in the collection to be updated with distance.

        +
        +
        section
        +
        +"section":".distance-items" +

        Selector defining the collection of items

        +
        +
        target
        +
        +"target":".distance" +

        Selector to identify element to update with formatted distance

        +
        +
        sort
        +
        +"sort":".distance-sort" +

        Selector to identify element to update with unformatted distance number

        +
        +
        display
        +
        +"display":{"selector":".distance-visible","removeClass":"hidden"} +

        Object with options to display content when distance is calculated.

        +
        +
        selector
        +
        + "selector":".distance-visible" +

        Selector for all elements to be revealed

        +
        +
        removeClass
        +
        + "removeClass":"hidden" +

        Class to be removed when results are displayed

        +
        +
        +
        +
        name
        +
        +"name":".distance-title" +

        Selector to identify element to update with returned name for provided location

        +
        +
        + + + +
        +

        Adding distance to event list

        +
        +
        +
        + +

        Filter options

        +
        +
        + +
        + + +
        +
        + +
        +
        + +
        +
        +Language +
          +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        +
        +
        +
        +
        +Event location +
          +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        • + +
        • +
        +
        +
        +
        + + +
        +
        +
        +
        +

        Events

        +
        + +
        + +
          + +
        • +

          Ask PAC Anything!

          +

          Friday August 5th, 2022 | 12:00 PM to 1:00 PM

          +

          Location: Online, Language: English, French

          +
        • + +
        • +

          Bidding on Opportunities

          +

          Wednesday August 10th, 2022 | 2:00 PM to 3:30 PM

          +

          Location: Vancouver, Language: English

          + + +
        • + +
        • +

          Doing business with the Government of Canada (Webinar)

          +

          Thursday August 11th, 2022 | 12:00 PM to 2:00 PM

          +

          Location: Ottawa, Language: English

          + + +
        • + +
        • +

          Ask PAC Anything!

          +

          Friday August 12th, 2022 | 12:00 PM to 1:00 PM

          +

          Location: Online, Language: English

          +
        • + +
        • +

          Bidding on opportunities (Webinar)

          +

          Thursday August 18th, 2022 | 12:00 PM to 2:00 PM

          +

          Location: Ottawa, Language: English

          + + +
        • + +
        • +

          Ask PAC Anything!

          +

          Friday August 19th, 2022 | 12:00 PM to 1:00 PM

          +

          Location: Online, Language: English

          +
        • + +
        • +

          Workshop to register in the Supplier Registration Information (SRI) system and in the Indigenous ness Directory (IBD) for Indigenous-led businesses

          +

          Thursday August 25th, 2022 | 9:30 AM to 11:00 AM

          +

          Location: Ottawa, Language: French

          + + +
        • + +
        • +

          Doing Business with the Government of Canada

          +

          Thursday August 25th, 2022 | 1:30 PM to 3:00 PM

          +

          Location: Montreal, Language: French

          + + +
        • + +
        • +

          Doing Business with the Government of Canada

          +

          Thursday August 25th, 2022 | 2:00 PM to 3:30 PM

          +

          Location: Vancouver, Language: English

          + + +
        • + +
        • +

          Ask PAC Anything!

          +

          Friday August 26th, 2022 | 12:00 PM to 1:30 PM

          +

          Location: Online, Language: English

          +
        • + +
        • +

          Mythbusting Federal Government Procurement and Overview of Innovation for Defence, Excellence and rity (IDEaS)

          +

          Tuesday August 30th, 2022 | 10:00 AM to 11:00 AM

          +

          Location: Toronto, Language: English

          + + +
        • + +
        • +

          Register as supplier and find opportunities on BuyAndSell.gc.ca

          +

          Tuesday August 30th, 2022 | 1:30 PM to 3:00 PM

          +

          Location: Montreal, Language: French

          + + +
        • + +
        • +

          Federal Procurement Virtual Drop-in Café

          +

          Wednesday August 31th, 2022 | 3:00 PM to 4:00 PM

          +

          Location: Toronto, Language: English

          + + +
        • +
        + +
        +
        +
        diff --git "a/m\303\251li-m\303\251lo/2023-09-distance-calculator/js/distance-calculator.js" "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/js/distance-calculator.js" new file mode 100644 index 0000000000..f2d925cb59 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/js/distance-calculator.js" @@ -0,0 +1,161 @@ + /** + * @title WET-BOEW Distance plugin + * @overview Plugin contained to show an example of how to create your custom WET plugin + * @license wet-boew.github.io/wet-boew/License-en.html / wet-boew.github.io/wet-boew/Licence-fr.html + * @author donmcdill + */ + ( function( $, window, wb ) { + "use strict"; + /* + * Variable and function definitions. + * These are global to the plugin - meaning that they will be initialized once per page, + * not once per instance of plugin on the page. So, this is a good place to define + * variables that are common to all instances of the plugin on a page. + */ + var componentName = "distance-calculator", + selector = "." + componentName, + initEvent = "wb-init" + selector, + $document = wb.doc, + defaults = {}, + /** + * @method init + * @param {jQuery Event} event Event that triggered the function call + */ + init = function( event ) { + // Start initialization + // returns DOM object = proceed with init + // returns undefined = do not proceed with init (e.g., already initialized) + var elm = wb.init( event, componentName, selector ), + $elm, + settings; + if ( elm ) { + $elm = $( elm ); + // ... Do the plugin initialisation + + + + + // Get the plugin JSON configuration set on attribute data-distance-calculator + settings = $.extend( + true, + {}, + defaults, + window[ componentName ], + wb.getData( $elm, componentName ) + ); + // Call my custom event + $elm.trigger( "distance-calculator", settings ); + // Identify that initialization has completed + wb.ready( $elm, componentName ); + } + }; + // Add your plugin event handler + $document.on( "distance-calculator", selector, function( event, data ) { + var elm = event.currentTarget, + $elm = $( elm ); + + // Function to get the distance in KM between each office begin + function getDistanceFromLatLonInKm(lat1,lon1,lat2,lon2) { + var R = 6371; // Radius of the earth in km + var dLat = deg2rad(lat2-lat1); // deg2rad below + var dLon = deg2rad(lon2-lon1); + var a = + Math.sin(dLat/2) * Math.sin(dLat/2) + + Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) * + Math.sin(dLon/2) * Math.sin(dLon/2) + ; + var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); + var d = R * c; // Distance in km + + return d; + } + function deg2rad(deg) { + return deg * (Math.PI/180) + } + function addCommas(nStr, number_seperator) + { + nStr += ''; + var x = nStr.split('.'); + var x1 = x[0]; + var x2 = x.length > 1 ? '.' + x[1] : ''; + var rgx = /(\d+)(\d{3})/; + + while (rgx.test(x1)) { + x1 = x1.replace(rgx, '$1' + number_seperator + '$2'); + } + + return x1 + x2; + } + + //Set filter event distance handler + $elm.find(data.form).on( "submit", function(distEvent) { + + var distForm = distEvent.currentTarget; + + var address = distForm.querySelector(data.location).value; + var addressEnc = encodeURIComponent(address); + + var distCollection = elm.querySelector(data.section); + var distCollectionItems = distCollection.querySelectorAll(data.selector); + + var distAPI = (wb.lang==="fr")?"https://geogratis.gc.ca/services/geolocation/fr/locate?q=":"https://geogratis.gc.ca/services/geolocation/en/locate?q="; + + // Start of geogratis location service call to the API + $.getJSON(distAPI + addressEnc, function(json) { + if ( json.length == 0 ) { + console.log("Empty response from geogratis"); + } + else { + + var longitude = json[0].geometry.coordinates[0]; + var latitude = json[0].geometry.coordinates[1]; + var global_nice_address = json[0].title; + + + // Inserts the distance between the VAC offices and the location entered in each PO's variable array + distCollectionItems.forEach( function(element) { + + let dist = element.querySelector(data.target); + let distSort = element.querySelector(data.sort); + + if(typeof dist !== "undefined" && dist !== null && typeof distSort !== "undefined" && distSort !== null && typeof dist.dataset.distanceCoordinates !== "undefined" && dist.dataset.distanceCoordinates !== null){ + + let coordinates = JSON.parse(dist.dataset.distanceCoordinates); + let itemLongtitude = coordinates.longtitude; + let itemLatitude = coordinates.latitude; + let thousandSeparator = (wb.lang==="fr")?" ":","; + let addressDist = getDistanceFromLatLonInKm(latitude,longitude,itemLatitude,itemLongtitude); + + distSort.innerHTML = Math.round(addressDist); + dist.innerHTML = addCommas(Math.round(addressDist),thousandSeparator); + } + + }); + + if(typeof data.name !== "undefined" && data.name !== null){ + let titleArray = elm.querySelectorAll(data.name); + titleArray.forEach(function(title){ + title.innerHTML = global_nice_address; + }); + } + if(typeof data.display === "object" && typeof data.display.selector !== "undefined" && typeof data.display.removeClass !== "undefined" && data.display.selector !== null && data.display.removeClass !== null){ + let visibleArray = elm.querySelectorAll(data.display.selector); + visibleArray.forEach(function(elem){ + elem.classList.remove(data.display.removeClass); + }); + } + + $elm.trigger( "wb-contentupdated", [{"source":componentName}] ); + + } + }); + + return false; + }); + + } ); + // Bind the init event of the plugin + $document.on( "timerpoke.wb " + initEvent, selector, init ); + // Add the timer poke to initialize the plugin + wb.add( selector ); + } )( jQuery, window, wb ); diff --git "a/m\303\251li-m\303\251lo/2023-09-distance-calculator/meta.md" "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/meta.md" new file mode 100644 index 0000000000..838832b0bf --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-distance-calculator/meta.md" @@ -0,0 +1,46 @@ +--- +feature: méli-mélo +"@context": + "@version": 1.1 + dct: http://purl.org/dc/terms/ + title: + "@id": dct:title + "@container": "@language" + description: + "@id": dct:description + "@container": "@language" + modified: dct:modified + +title: + en: Distance calculator + fr: Calculateur de distance +description: + en: Using the Natural Resources Canada Geogratis Geolocation service to provide the distance between a known set of coordinates and an address provided by the user. + fr: Utiliser le service de géolocalisation Geogratis de Ressources naturelles Canada pour fournir la distance entre un ensemble de coordonnées connu et une adresse fournie par l'utilisateur. +modified: 2023-09-08 +componentName: 2023-09-distance-calculator +sponsor: Donald McDill Sites management, Service Canada + +pages: + examples: + - title: Distance calculator + language: en + path: index.html + - title: Calculateur de distance + language: fr + path: index-fr.html + +implementationPlan: + - due: 2023-10 + what: Review and identify requirement to make this functionality enterprise ready. + - due: 2024-02 + what: Have this feature as provisional feature in GCWeb. + + +todos: + - Improve error handling and default values + - Improve french example page text + + +output: false +--- diff --git "a/m\303\251li-m\303\251lo/2023-09-menu/about.html" "b/m\303\251li-m\303\251lo/2023-09-menu/about.html" new file mode 100644 index 0000000000..7a87020f2c --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-menu/about.html" @@ -0,0 +1,59 @@ +--- +title: About - Campaign Menu +dateModified: 2023-09-12 +lang: en +css: campaign-menu.css +script: campaign-menu.js +layout: no-container +nomenu: true +--- +
        +

        About - Campaign Menu

        +

        Example of a new menu that uses megamenu for md and lg, and GCWeb menu for sm and xs.

        +
        +
        + +
        +
        +

        Test content

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +
        diff --git "a/m\303\251li-m\303\251lo/2023-09-menu/calendar.html" "b/m\303\251li-m\303\251lo/2023-09-menu/calendar.html" new file mode 100644 index 0000000000..2dcb3a9346 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-menu/calendar.html" @@ -0,0 +1,58 @@ +--- +title: Calendar with global GCMenu - Campaign Menu +dateModified: 2023-09-12 +lang: en +css: campaign-menu.css +script: campaign-menu.js +layout: no-container +--- +
        +

        Calendar with global GCMenu - Campaign Menu

        +

        Example of a new menu that uses megamenu for md and lg, and GCWeb menu for sm and xs.

        +
        +
        + +
        +
        +

        Test content

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +
        diff --git "a/m\303\251li-m\303\251lo/2023-09-menu/campaign-menu.css" "b/m\303\251li-m\303\251lo/2023-09-menu/campaign-menu.css" new file mode 100644 index 0000000000..a8bb5fa3c3 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-menu/campaign-menu.css" @@ -0,0 +1,150 @@ +/*** Mega Menu ***/ +/* add background and text color for menu */ +#wb-sm.campaign-menu { + background: #003c77; + color: #fff; +} +/* remove table cell and text shadow*/ +#wb-sm.campaign-menu .menu { + border-right: 0px !important; + display: block; + text-shadow: none; +} + + /* focus within mneu itme background */ +#wb-sm.campaign-menu .menu .active, +#wb-sm.campaign-menu .menu .wb-navcurr { + background: #ccc !important; + color: #333 !important; +} + +/* adjust menu padding to align height with GCMenu button */ +#wb-sm.campaign-menu .menu > li a { + padding: 0.5em 1em; +} + +/* change menu item on-hover background*/ +#wb-sm.campaign-menu .menu > li a:hover{ + background: #ccc !important; + color: #333 !important; +} + +/* change menu item on-focus background */ +#wb-sm.campaign-menu .menu > li a:focus{ + background: #003c77 !important; + color: #fff !important; +} +/* change menuitem text color when mouse move to submenu item*/ +#wb-sm.campaign-menu .menu > li.active > a{ + background: #ccc!important; + color: #333!important; +} + +/* submenu default color */ +#wb-sm.campaign-menu .sm.open li a { + background: #ccc !important; + color: #333 !important; +} + +/* hover on submenu item*/ +#wb-sm.campaign-menu .sm.open li a:active, +#wb-sm.campaign-menu .sm.open li a:focus, +#wb-sm.campaign-menu .sm.open li a:hover { + background: #003c77 !important; + color: #fff !important; +} + +/* submenu bottom bar color */ +#wb-sm.campaign-menu .sm.open { + border-bottom: 5px solid #003c77 !important; +} + + +/* add right border for last child item on md screen */ +@media screen and (max-width: 1199px) { + #wb-sm.campaign-menu .menu > li:last-child { + border-right: 1px solid #999; + } +} + + +/*** GCWEB Menu ***/ +/* default color */ +.gcweb-menu.campaign-menu button[aria-haspopup=true] { + background-color: #003c77 !important; + border: 1px solid #003c77; + color: #fff; +} + +/* Button opened with white background */ +.gcweb-menu.campaign-menu button[aria-haspopup=true][aria-expanded=true] { + background-color: #fff !important; + color: #000; +} + +/* button closed */ +.gcweb-menu.campaign-menu button[aria-haspopup=true]:focus { + background-color: #003c77 !important; + border: 1px dotted #fff; /* For focus - Make sure the */ + color: #fff; +} + +/* add border for menu item area to align the width */ +.gcweb-menu.campaign-menu button[aria-haspopup=true][aria-expanded=true] + [role=menu] { + border-right: #003c77 solid 1px !important; +} + +/* menu item background and color */ +.gcweb-menu.campaign-menu [role=menu] { + background-color: #003c77 !important; + color: #fff; +} +/* remove boder lines */ +.gcweb-menu.campaign-menu [role=menuitem], +.gcweb-menu.campaign-menu [role=menuitem]:visited, +.gcweb-menu.campaign-menu [role=menu] > li, +.gcweb-menu.campaign-menu [role=menu] > li:first-child, +.gcweb-menu.campaign-menu [role=menu] > li:last-child, +.gcweb-menu.campaign-menu [role=menu] [role=menu] [role=menuitem], +.gcweb-menu.campaign-menu [role=menu] [role=menu] li:first-child [role=menuitem] { + border: none; +} + +/* submenu background and text color*/ +.gcweb-menu.campaign-menu [role=menu] [role=menu] li [role=menuitem] { + background-color: #e1e1e1 !important; + color: #333; + padding-left: 65px; +} + +/* submenu item paddings and margins */ +.gcweb-menu.campaign-menu [aria-expanded=true]:not(button) + [role=menu] li { + margin-left: 0px; +} +.gcweb-menu.campaign-menu [aria-expanded=true]:not(button) + [role=menu] li:first-child [role=menuitem], +.gcweb-menu.campaign-menu [aria-expanded=true]:not(button) + [role=menu] li:last-child [role=menuitem] { + padding-left: 65px; +} + +/* submenu item on focus */ +.gcweb-menu.campaign-menu [role=menu] [role=menu] [role=menuitem]:focus, +.gcweb-menu.campaign-menu [role=menu] [role=menu] li:first-child [role=menuitem]:focus, +.gcweb-menu.campaign-menu [role=menu] [role=menu] li:last-child [role=menuitem]:focus { + background-color: #e1e1e1 !important; + color: #333 !important; +} + +/* submenu item on hover */ +.gcweb-menu.campaign-menu [role=menu] [role=menu] [role=menuitem]:hover, +.gcweb-menu.campaign-menu [role=menu] [role=menu] li:first-child [role=menuitem]:hover, +.gcweb-menu.campaign-menu [role=menu] [role=menu] li:last-child [role=menuitem]:hover { + background: #003c77 !important; + color: #fff !important; + text-decoration: none; +} + +/* remove the underline of sub menu item */ +.gcweb-menu.campaign-menu [role=menu] [role=menu] li [role=menuitem], +.gcweb-menu.campaign-menu [role=menu] [role=menu] li:first-child [role=menuitem] { + text-decoration: none; +} diff --git "a/m\303\251li-m\303\251lo/2023-09-menu/campaign-menu.js" "b/m\303\251li-m\303\251lo/2023-09-menu/campaign-menu.js" new file mode 100644 index 0000000000..04298b77f0 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-menu/campaign-menu.js" @@ -0,0 +1,243 @@ +/** + * @title Campaign menu + * @author PCH + */ +(function ($, window, document, wb) { + "use strict"; + + /* + * Variable and function definitions. + * These are global to the plugin - meaning that they will be initialized once per page, + * not once per instance of plugin on the page. So, this is a good place to define + * variables that are common to all instances of the plugin on a page. + */ + var componentName = "campaign-menu", + selector = "." + componentName + ".gcweb-menu", + initEvent = "wb-init" + selector, + $document = wb.doc, + savedAnchorFocus, + /** + * @method init + * @param {jQuery Event} event Event that triggered the function call + */ + init = function (event) { + + // Start initialization + // returns DOM object = proceed with init + // returns undefined = do not proceed with init (e.g., already initialized) + var elm = wb.init(event, componentName, selector), + $elm; + + if (elm) { + + // At this point, the GCWeb menu is already initialized + $elm = $(elm); + + // Add IDs for GC menu. This must be synchronized with the ids for the mega menu below. + var gcSubmenus = $elm.find("ul ul"); + for (var i = 1; i < gcSubmenus.length + 1; i++) { + gcSubmenus.eq(i - 1).attr("id", 'sub-menu-' + i); + } + + // Check if there is already a gcweb menu. + // If there are 2 present, the global GCWeb menu is present, hide this custom menu + var gcWebMenus = document.querySelectorAll(".gcweb-menu"); + if (gcWebMenus.length > 1) { + console.warn(componentName + " - gcweb menu already exsits on the page, hiding gcweb campaign menu and aborting"); + $elm.addClass('hidden'); + wb.ready($elm, componentName); + return; + } + + // If a megamenu is already present, abort to avoid duplicate wb-sm IDs + var megamenuExists = document.querySelector("#wb-sm"); + if (megamenuExists != undefined || megamenuExists != null) { + console.warn(componentName + " - megamenu already exsits on the page, aborting"); + $elm.addClass('hidden'); + wb.ready($elm, componentName); + return; + } + + // Megamenu does not exist, let's build it for md and lg using the content in the GCWeb + // Retrieve the top level list items from GCWeb men + var gcwebMenuListItems = $elm.find("> ul > li"); + + // Start building mega menu + var megamenuHTML = ""; + var listItemCounter = 0; + var subMenuCounter = 0; + $.each(gcwebMenuListItems, function (key, element) { + // console.log(key + ": " + element); + listItemCounter++; + + // Get top level list item's anchor + var listItemAnchor = element.querySelector("a"); + listItemAnchor.setAttribute('class', 'item'); + //console.log("anchor: ", listItemAnchor); + + // Get top level list item's children + var listItemchildren = element.querySelectorAll("li"); + //console.log("children: ", listItemchildren); + //console.log("children length: " + gcwebMenuListItems.length); + + // Build top level list items, with and without submenus + if (listItemchildren.length > 0) { + // Use counter to generate dynamic href bookmarks and ids for submenus + subMenuCounter++; + + // Build list item with a submenu + let subMenuId = "menu-" + subMenuCounter; + + var submegamenuHTML = ""; + // TODO: Verify all the attributes + megamenuHTML += ` +
      • ${listItemAnchor.textContent}`; + + $.each(listItemchildren, function (key, element) { + //console.log(key + ": " + element); + var subListItemAnchor = element.querySelector("a"); + var href = subListItemAnchor.getAttribute('href'); + + // TODO: Add missing attributes present in the + submegamenuHTML += `
      • ${subListItemAnchor.textContent}
      • `; + }); + + megamenuHTML += ``; + } else { + // Build list item without a submenu + let href = listItemAnchor.getAttribute('href'); + megamenuHTML += `
      • ${listItemAnchor.textContent}
      • `; + } + }); + + // Get GCWeb h2 + var gcwebMenuH2 = document.querySelector(selector + " > h2"); + + // Wrap menu HTML with the megamenu wrapper + // NOTE: Removed role="navigation" (redundant) and typeof="SiteNavigationElement" (not required) + megamenuHTML = ` + `; + //console.log(megamenuHTML); + + // Apply appropriate visible CSS classes to the GCWeb menu + $elm.addClass("visible-sm visible-xs"); + + // Add the megamenu + $elm.after(megamenuHTML); + + // Start the megamenu plugin + // Workaround - Add the div required to build the hamburger menu, but hide it, since all we're trying to do is fully initialize the megamenu + $(".wb-menu").attr('data-trgt', 'mb-pnl'); + $(".wb-menu").after(''); + $(".wb-menu").after(''); + + // Initialize it + $(".wb-menu").trigger("wb-init.wb-menu"); + + $("#mb-pnl").remove(); + $("#wb-glb-mn").remove(); + $(".wb-menu").removeAttr('data-trgt'); + + wb.ready($elm, componentName); + } + }, + + findNavElement = function (activeElement) { + let parentElement = activeElement.parentElement; + while (parentElement.nodeName != "NAV" && parentElement.nodeName != "BODY") { + parentElement = parentElement.parentElement; + } + if (parentElement.nodeName == "NAV") { + return parentElement; + } else { + return false; + } + }, + + openMenu = function () { + if (savedAnchorFocus != undefined) { + let nav = findNavElement(savedAnchorFocus); + + if (nav) { + let savedFocusHref = savedAnchorFocus.getAttribute("href"); + if (nav.classList.contains('wb-menu') && $(".wb-menu").is(":hidden")) { + + // Close any previously opened GCWeb submenus + let itemOpened = $('.gcweb-menu a[aria-expanded=true]'); + for (var i = 0; i < itemOpened.length; i++) { + $(itemOpened).eq(i).attr("aria-expanded", "false"); + } + + // Open GCWeb menu button + $(selector).find('button').attr("aria-expanded", "true"); + + // Determine if the focus is on a link or an anchor to open a submenu + if (savedFocusHref.match("^#")) { + let submenuId = savedFocusHref.substring(6); + $(".gcweb-menu a[aria-controls='sub-menu-" + submenuId + "']").focus(); + } else { + let gcMenuFocusAnchor = $('.gcweb-menu a[href="' + savedFocusHref + '"]'); + let ulParents = $(gcMenuFocusAnchor).parents("ul"); + if (ulParents.length > 1) { + let submenu = ulParents.eq(0); + submenu.parent() + .children('a.item') + .attr("aria-expanded", "true"); + } + gcMenuFocusAnchor.focus(); + } + } else if (nav.classList.contains('gcweb-menu') && $(".gcweb-menu").is(":hidden")) { + // Close submenus + $(".wb-menu li").removeClass('active sm-open'); + $(".wb-menu ul.open").attr("aria-expanded", "false"); + $(".wb-menu ul.open").attr("aria-hidden", "true"); + $(".wb-menu ul").removeClass('open'); + + // Set focus on submenu + if (savedFocusHref.match("^#")) { + let gcSubmenuFocus = $(savedAnchorFocus).attr("aria-controls"); + let submenuId = gcSubmenuFocus.substring(9); + $(".wb-menu a[href='#menu-" + submenuId + "']").focus(); + } else { + // Find if it is focused a submenu item + let megaMenuFocusAnchor = $('.wb-menu a[href="' + savedFocusHref + '"]'); + let ulParents = $(megaMenuFocusAnchor).parents("ul"); + + // Open submenu + if (ulParents.length > 1) { + let submenu = ulParents.eq(0); + submenu.attr("aria-expanded", "true"); + submenu.attr("aria-hidden", "false"); + submenu.addClass('open'); + submenu.parent().addClass('active sm-open'); + } + megaMenuFocusAnchor.focus(); + } + } + } + } + }; + + $(window).on("resize", function () { + //console.log(document.activeElement); + if (document.activeElement.nodeName == 'A') { + savedAnchorFocus = document.activeElement; + } + }); + + $document.on(wb.resizeEvents, openMenu); + + // Bind the init event of the plugin + $document.on("timerpoke.wb " + initEvent, selector, init); + + // Add the timer poke to initialize the plugin + wb.add(selector); + +})(jQuery, window, document, wb); diff --git "a/m\303\251li-m\303\251lo/2023-09-menu/index.html" "b/m\303\251li-m\303\251lo/2023-09-menu/index.html" new file mode 100644 index 0000000000..6040071a41 --- /dev/null +++ "b/m\303\251li-m\303\251lo/2023-09-menu/index.html" @@ -0,0 +1,74 @@ +--- +title: Campaign Menu +dateModified: 2023-09-12 +lang: en +css: campaign-menu.css +script: campaign-menu.js +layout: no-container +nomenu: true +--- +
        +

        Campaign Menu

        +

        Example of a new menu that uses megamenu for md and lg, and GCWeb menu for sm and xs.

        +

        This méli-mélo project is sponsored by PCH department.

        +
          +
        • About Wintlude - demo wb-navcurr for a sub menu page
        • +
        • Calendar - demo for when global Canada.ca GCWeb menu is already present, this custom menu will not be activated by the plugin
        • +
        +
        +
        + +
        +
        +

        Implementation plan

        +

        (To be revised during winter 2023-24)

        +
          +
        • Stabilize the plugin amalgamation - estimated by November 2023
        • +
        • Revise the color for a better alignment with the Canada.ca default color scheme - estimated by January/April 2024
        • +
        • Collect user experience feedback on this redesigned menu after the winterlude 2024 event - Report summary to added by March 2024
        • +
        • Make the code independent from the wet-boew mega menu and from the GCWeb menu - Summer 2024
        • +
        • Engage with DTO and web apps community (ex. CDTS implementer) about this initiative - Now to spring 2024
        • +
        • Work toward a provisional plugin - Autumn 2025
        • +
        +

        Test content

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +

        Lorem

        +
        diff --git a/package-lock.json b/package-lock.json index 13d2723e1d..c735efbf93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "GCWeb", - "version": "13.7.2", + "version": "13.9.1", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -11594,8 +11594,8 @@ } }, "wet-boew": { - "version": "github:wet-boew/wet-boew#f56370d179c49e85a7b69b0a1d40d6d2ed7ee50c", - "from": "github:wet-boew/wet-boew#v4.0.67.2", + "version": "github:wet-boew/wet-boew#aa4918dbe6b2b36b50a07d5276b279184f0d0ab5", + "from": "github:wet-boew/wet-boew#v4.0.69", "requires": { "bootstrap-sass": "3.4.1", "code-prettify": "^0.1.0", diff --git a/package.json b/package.json index 4e1676b0b4..9e6d8f1a02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "GCWeb", - "version": "13.7.2", + "version": "13.9.1", "description": "Web Experience Toolkit (WET): Canada.ca Theme Reorg", "main": "index.html", "scripts": { @@ -13,7 +13,7 @@ "license": "MIT", "dependencies": { "bootstrap-sass": "3.4.1", - "wet-boew": "github:wet-boew/wet-boew#v4.0.67.2" + "wet-boew": "github:wet-boew/wet-boew#v4.0.69" }, "browserslist": [ "last 2 versions", diff --git a/sites/baseline/_font.scss b/sites/baseline/_font.scss index 1dc8f39282..d07409ffe1 100644 --- a/sites/baseline/_font.scss +++ b/sites/baseline/_font.scss @@ -106,7 +106,7 @@ } /* latin */ @font-face { - font-display: optional; + font-display: fallback; font-family: "Lato"; font-style: italic; font-weight: 400; @@ -142,7 +142,7 @@ } /* latin */ @font-face { - font-display: optional; + font-display: fallback; font-family: "Lato"; font-style: normal; font-weight: 400; diff --git a/sites/breadcrumbs/index.json-ld b/sites/breadcrumbs/index.json-ld index 63ec6f39c9..35675ba972 100644 --- a/sites/breadcrumbs/index.json-ld +++ b/sites/breadcrumbs/index.json-ld @@ -11,10 +11,10 @@ "fr": "Fil d'Ariane" }, "description": { - "en": "Documentation on how to use breadcrumbs.", - "fr": "Documentation sur l'utilisation du fil d'arianne." + "en": "Indicates the location of the current page in relation to its parent in the site structure to reinforce a visitor’s current location in the Canada.ca user navigation model.", + "fr": "L’objectif du fil d'Ariane est de renforcer l’emplacement actuel des visiteurs dans le modèle de navigation de l’utilisateur du site Canada.ca." }, - "modified": "2021-02-12", + "modified": "2023-09-06", "componentName": "breadcrumbs", "status": "stable", "pages": { diff --git a/sites/feedback/deprecated/report-problem-inline-en.html b/sites/feedback/deprecated/report-problem-inline-en.html new file mode 100644 index 0000000000..e8e89ea294 --- /dev/null +++ b/sites/feedback/deprecated/report-problem-inline-en.html @@ -0,0 +1,61 @@ +{%- if page.report == "true" %} +
        + {{ i18nText-feedback }} +
        +
        +
        +
        +
        + Please select all that apply: +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + +
        +
        +
        +

        Thank you for your help!

        +

        You will not receive a reply. For enquiries, please contact us.

        +
        +
        +
        +
        +{%- else -%} + +{%- endif -%} diff --git a/sites/feedback/deprecated/report-problem-inline-fr.html b/sites/feedback/deprecated/report-problem-inline-fr.html new file mode 100644 index 0000000000..6e400900ac --- /dev/null +++ b/sites/feedback/deprecated/report-problem-inline-fr.html @@ -0,0 +1,61 @@ +{%- if page.report == "true" %} +
        + {{ i18nText-feedback }} +
        +
        +
        +
        +
        + Veuillez cocher toutes les réponses pertinentes : +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + + +
        +
        + +
        +
        +
        +

        Merci de votre aide!

        +

        Vous ne recevrez pas de réponse. Pour toute question, s’il vous plaît contactez-nous.

        +
        +
        +
        +
        +{%- else -%} + +{%- endif -%} diff --git a/sites/feedback/dto-guidance-en.html b/sites/feedback/dto-guidance-en.html new file mode 100644 index 0000000000..7b4b4beaf9 --- /dev/null +++ b/sites/feedback/dto-guidance-en.html @@ -0,0 +1,3 @@ +
        +

        First use the GC Task Success Survey to identify tasks that you would like to improve. Then add the page feedback tool on specific pages related to that task to uncover specific page-level issues affecting task performance.

        +
        diff --git a/sites/feedback/dto-guidance-fr.html b/sites/feedback/dto-guidance-fr.html new file mode 100644 index 0000000000..91c971e7d0 --- /dev/null +++ b/sites/feedback/dto-guidance-fr.html @@ -0,0 +1,3 @@ +
        +

        Utilisez d'abord le Sondage sur la réussite des tâches du GC pour identifier les tâches que vous souhaitez améliorer. Ensuite, ajoutez l'outil de rétroaction sur les pages spécifiques liées à cette tâche pour découvrir les problèmes spécifiques au niveau de la page qui affectent la performance de la tâche.

        +
        diff --git a/sites/feedback/feedback-docs-en.html b/sites/feedback/feedback-docs-en.html index 61fb0d4897..a8bd4824ec 100644 --- a/sites/feedback/feedback-docs-en.html +++ b/sites/feedback/feedback-docs-en.html @@ -1,380 +1,12 @@ --- { "title": "Feedback area - Documentation", + "title_section": "GCWeb (the Canada.ca theme in WET)", "language": "en", "altLangPage": "feedback-docs-fr.html", - "secondlevel": false, - "dateModified": "2023-01-10", - "share": true, - "feedbackPath": "assets/page-feedback-en.html" + "dateModified": "2023-08-28", + "layout": "documentation", + "index_json": "index.json-ld", + "before_start_ajax_url": "dto-guidance-en.html #beforeYouBegin" } --- - -
        -
        Status
        -
        Stable
        -
        Version
        -
        5.0.0
        -
        Type
        -
        Canada.ca site functionality
        -
        - -

        Introduction

        -

        Purpose

        -

        Provide feedback on any given page through a form.

        - -

        Evaluation and report

        -

        There is no evaluation and report available for this component.

        - -

        Guidance

        - - -

        Variants

        -

        This component supports the following variants:

        - -
        -

        Note

        -

        All variants are comprised of two sub-components:

        -
          -
        • The first one is used for the integration on the page.
        • -
        • The second one is the form which is inserted dynamically via an Ajax call. This sub-component is however out of scope of the API.
        • -
        -
        - -

        Variant 1: Page Feedback Tool (default) Provisional

        -

        Iteration 1

        - -

        Working example(s)

        - - -

        How to implement

        -
          -
        • To show the page feedback form, create a <div class="wb-disable-allow"> with the following data attributes: -
            -
          • Mandatory: data-ajax-replace="assets/page-feedback-en.html"
          • -
          • Optional: data-feedback-theme="[Text defining the theme of your page]"
          • -
          • Optional: data-feedback-section="[Text defining the section where your page resides]"
          • -
          -
        • -
        • Additionally, your page needs to have the following metadata: <meta name="dcterms.creator" content="[Department name]">
        • -
        -

        For more information about Data Ajax plugin, please visit Data Ajax documentation page.

        - -
        GCWeb Jekyll specific
        -

        To apply this variant's optional attributes on any given page, you will need to do the following in the page's front-matter:

        -
          -
        • Set the variable feedbackData to an object containing the following customizable strings: -
            -
          • section: to define the section where your page resides.
          • -
          • theme: to define the theme of your page.
          • -
          -
        • -
        -

        For example:

        -
        "feedbackData": {
        -	"theme": "Theme",
        -	"section": "Section"
        -}
        - -

        Code sample

        -{%- highlight html -%} -
        -{%- endhighlight -%} -
        - Ajaxed-in content - {%- highlight html -%} - {%- include_relative assets/page-feedback-en.html -%} - {%- endhighlight -%} -
        - -

        Variant 2: Page Feedback Tool With Contact Link Provisional

        -

        Iteration 1

        - -

        Working example(s)

        - - -

        How to implement

        -
          -
        • To show the page feedback form, create a <div class="wb-disable-allow"> with the following data attributes: -
            -
          • Mandatory: data-ajax-replace="assets/page-feedback-en.html"
          • -
          • Mandatory: data-feedback-link="[Contact link text]"
          • -
          • Mandatory: data-feedback-url="[Contact link URL]"
          • -
          • Optional: data-feedback-theme="[Text defining the theme of your page]"
          • -
          • Optional: data-feedback-section="[Text defining the section where your page resides]"
          • -
          -
        • -
        • For the basic HTML version, a link element should be created inside your <div> that points to the report a problem form page: <div><a class="btn btn-default btn-block" href="https://www.canada.ca/en/report-problem.html">Report a problem on this page</a></div>.
        • -
        • Additionally, you can define the following metadata: <meta name="dcterms.creator" content="[Department name]">
        • -
        -

        For more information about Data Ajax plugin, please visit Data Ajax documentation page.

        - -
        GCWeb Jekyll specific
        -

        To apply this variant on any given page, you will need to do the following in the page's front-matter:

        -
          -
        • Set the variable feedbackContact to an object containing the following customizable strings: -
            -
          • link: to define the contact link's text.
          • -
          • url: to define the contact link's URL.
          • -
          -
        • -
        • Optionally, you can set the variable feedbackData to an object containing the following customizable strings: -
            -
          • section: to define the section where your page resides.
          • -
          • theme: to define the theme of your page.
          • -
          -
        • -
        -

        For example:

        -
        "feedbackContact": {
        -	"link": "Contact link",
        -	"url": "https://canada.ca"
        -},
        -"feedbackData": {
        -	"theme": "Theme",
        -	"section": "Section"
        -}
        - -

        Code sample

        -{%- highlight html -%} -
        -{%- endhighlight -%} -
        - Ajaxed-in content - {%- highlight html -%} - {%- include_relative assets/page-feedback-en.html -%} - {%- endhighlight -%} -
        - -

        Variant 3: Report a Problem (RAP) Stable

        -

        Iteration 5

        -

        Here is a list of changes that happened since the previous iteration:

        - - - - - - - - - - - - - -
        Breaking -
          -
        • Removed JSON Manager extraction for "externalReferer" and "subject".
        • -
        -
        Additions -
          -
        • Added static hidden inputs for "externalReferer" and "subject"
        • -
        -
        Fixesn/a
        - -

        Working example(s)

        - - -

        How to implement

        -
          -
        • To show the Report a problem form, create a <div> with the following data attribute: data-ajax-replace="ajax/report-problem-en.html".
        • -
        • For the basic HTML version, a link element should be created inside a <div> that points to the report a problem form page: <div><a class="btn btn-default btn-block" href="https://www.canada.ca/en/report-problem.html">Report a problem on this page</a></div>.
        • -
        - -

        For more information about Data Ajax plugin, please visit Data Ajax documentation page.

        -
        - Adobe Analytics implementation -

        To implement Adobe Analytics in the Report a problem form, simply add the attribute data-gc-analytics-rap to every checkbox with the value being the same as the current language's label, followed by a dash and followed by the other language's label.

        -

        For example:

        -
        <div class="checkbox">
        -	<label for="problem2">
        -		<input name="problem2" id="problem2" type="checkbox" value="Yes" data-gc-analytics-rap="It has a spelling mistake-Il y a une erreur d'orthographe ou de grammaire">It has a spelling mistake
        -	</label>
        -	<input name="problem2" type="hidden" value="">
        -</div>
        -
        - -
        Hidden input fields
        -

        The Report a problem variant leverages JSON Manager and Data JSON to get information about the page and generate hidden input fields in the form.

        -

        The following tag needs to be present in the page: <meta name="dcterms.creator" content="[Department name]">
        Where [Department name] is a department name from canada.ca controlled vocabulary, for example: gc:institutions/service-canada

        - -
        GCWeb Jekyll specific
        -

        To apply this variant on any given page, you will need to do the following in the page's front-matter or in the site configurations (_config.yml):

        -
          -
        • set the variable feedbackPath to "ajax/report-problem-en.html".
        • -
        • set the variable feedbackFallback to true.
        • -
        - -

        Code sample

        -{%- highlight html -%} - -{%- endhighlight -%} -
        - Ajaxed-in content - {%- highlight html -%} - {%- include_relative ajax/report-problem-en.html -%} - {%- endhighlight -%} -
        - -

        Previous iterations

        - -
        - Iteration 4 -

        Here is a list of changes that happened since the previous iteration:

        - - - - - - - - - - - - - -
        Breaking -
          -
        • Leveraging JSON Manager Extractor and Data JSON to generate hidden input fields
        • -
        -
        Additionsn/a
        Fixesn/a
        - -

        Code sample

        - {%- highlight html -%} - - {%- endhighlight -%} -
        - Ajaxed-in content - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v4-en.html -%} - {%- endhighlight -%} -
        -
        - -
        - Iteration 3 -

        Here is a list of changes that happened since the previous iteration:

        - - - - - - - - - - - - - -
        Breaking -
          -
        • Removed login error sub-options.
        • -
        • Renamed login error option.
        • -
        -
        Additionsn/a
        Fixesn/a
        - -

        Code sample

        - {%- highlight html -%} - - {%- endhighlight -%} -
        - Ajaxed-in content - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v3-en.html -%} - {%- endhighlight -%} -
        -
        - - -
        - Iteration 2 -

        Here is a list of changes that happened since the previous iteration:

        - - - - - - - - - - - - - -
        Breaking -
          -
        • Rework of the template to use data-ajax. Includes fallback for basic HTML version.
        • -
        • Updated form: -
            -
          • Now implements wb-postback for form validation and no longer uses data-toggle on submit.
          • -
          • Added login error options (problem 5 to problem 10).
          • -
          • Added error and success messages.
          • -
          -
        • -
        -
        Additionsn/a
        Fixesn/a
        - -

        Code sample

        - {%- highlight html -%} - - {%- endhighlight -%} -
        - Ajaxed-in content - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v2-en.html -%} - {%- endhighlight -%} -
        -
        -
        - Iteration 1 -

        Code sample

        - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v1-en.html -%} - {%- endhighlight -%} -
        diff --git a/sites/feedback/feedback-docs-fr.html b/sites/feedback/feedback-docs-fr.html index 2a741bbd8a..1224852049 100644 --- a/sites/feedback/feedback-docs-fr.html +++ b/sites/feedback/feedback-docs-fr.html @@ -1,378 +1,12 @@ --- { "title": "Zone de rétroaction - Documentation", + "title_section": "GCWeb (le thème de Canada.ca dans la BOEW)", "language": "fr", "altLangPage": "feedback-docs-en.html", - "secondlevel": false, - "dateModified": "2023-01-10", - "share": "true", - "feedbackPath": "assets/page-feedback-fr.html" + "dateModified": "2023-08-28", + "layout": "documentation", + "index_json": "index.json-ld", + "before_start_ajax_url": "dto-guidance-fr.html #beforeYouBegin" } --- - -
        -
        Statut
        -
        Stable
        -
        Version
        -
        5.0.0
        -
        Type
        -
        Fonctionnalité globale de site de Canada.ca
        -
        - -

        Introduction

        -

        Objectif

        -

        Obtenir une rétroaction des utilisateurs sur une page donnée via un formulaire.

        - -

        Évaluation et rapport

        -

        Il n'y a pas d'évaluation ni de rapport disponible pour cette composante.

        - -

        Orientation

        - - -

        Variantes

        -

        Ce composant prend en charge les variantes suivantes :

        - -
        -

        Note

        -

        Toutes les variantes sont composées de deux sous-composants :

        -
          -
        • Le premier est utilisé pour l'intégration sur la page.
        • -
        • Le second est le formulaire qui est inséré dynamiquement via un appel Ajax. Ce sous-composant est par contre hors de portée de l'API.
        • -
        -
        - -

        Variante 1: Outil de rétroaction sur la page (par défaut) Provisoire

        -

        Itération 1

        - -

        Exemple(s) pratique(s)

        - - -

        Comment mettre en œuvre

        -
          -
        • Pour afficher le formulaire de rétroaction sur la page, créez un <div> avec les attributs suivants : -
            -
          • Obligatoire : data-ajax-replace="assets/page-feedback-en.html"
          • -
          • Optionnel : data-feedback-theme="[Texte définissant le thème de votre page]"
          • -
          • Optionnel : data-feedback-section="[Texte définissant la section où réside votre page]"
          • -
          -
        • -
        • Pour la version HTML de base, un lien doit être créé dans un <div> qui pointe vers la page du formulaire de signalement d'un problème : <div><a class="btn btn-default btn-block" href="https://www.canada.ca/fr/signaler-probleme.html">Signaler un problème sur cette page</a></div>.
        • -
        • De plus, vous pouvez définir les métadonnées suivantes: <meta name="dcterms.creator" content="[Nom du département]">
        • -
        -

        Pour plus d'informations sur le plugin Data Ajax, veuillez visiter la page de documentation Data Ajax.

        - -
        Spécifique à GCWeb Jekyll
        -

        Pour appliquer les attributs facultatifs de cette variante sur une page donnée, vous devrez procéder comme suit dans le front-matter de la page :

        -
          -
        • Définissez la variable feedbackData à un objet contenant les chaînes de caractères suivantes : -
            -
          • section : pour définir la section où réside votre page.
          • -
          • theme : pour définir le thème de votre page.
          • -
          -
        • -
        -

        Par exemple :

        -
        "feedbackData": {
        -	"theme": "Thème",
        -	"section": "Section"
        -}
        - -

        Exemple de code

        -{%- highlight html -%} -
        -{%- endhighlight -%} -
        - Contenu ajouté via Ajax - {%- highlight html -%} - {%- include_relative assets/page-feedback-fr.html -%} - {%- endhighlight -%} -
        - -

        Variante 2: Outil de rétroaction sur la page avec lien de contact Provisoire

        -

        Itération 1

        - -

        Exemple(s) pratique(s)

        - - -

        Comment mettre en œuvre

        -
          -
        • Pour afficher le formulaire de rétroaction sur la page, créez un <div> avec les attributs suivants : -
            -
          • Obligatoire : data-ajax-replace="assets/page-feedback-en.html"
          • -
          • Obligatoire : data-feedback-link="[Texte du lien de contact]"
          • -
          • Obligatoire : data-feedback-url="[URL du lien de contact]"
          • -
          • Optionnel : data-feedback-theme="[Texte définissant le thème de votre page]"
          • -
          • Optionnel : data-feedback-section="[Texte définissant la section où réside votre page]"
          • -
          -
        • -
        • Pour la version HTML de base, un lien doit être créé dans un <div> qui pointe vers la page du formulaire de signalement d'un problème : <div><a class="btn btn-default btn-block" href="https://www.canada.ca/fr/signaler-probleme.html">Signaler un problème sur cette page</a></div>.
        • -
        • De plus, votre page doit avoir les métadonnées suivantes: <meta name="dcterms.creator" content="[Nom du département]">
        • -
        -

        Pour plus d'informations sur le plugin Data Ajax, veuillez visiter la page de documentation Data Ajax.

        - -
        Spécifique à GCWeb Jekyll
        -

        Pour appliquer cette variante sur une page donnée, vous devrez faire ce qui suit dans l'en-tête de la page :

        -
          -
        • Définissez la variable feedbackContact à un objet contenant les chaînes personnalisables suivantes: -
            -
          • link: pour définir le texte du lien de contact.
          • -
          • url: pour définir l'URL du lien de contact.
          • -
          -
        • -
        • Facultativement, vous pouvez définir la variable feedbackData à un objet contenant les chaînes de caractères suivantes: -
            -
          • section : pour définir la section où réside votre page.
          • -
          • theme : pour définir le thème de votre page.
          • -
          -
        • -
        -

        Par exemple :

        -
        "feedbackContact": {
        -	"link": "Lien de contact",
        -	"url": "https://canada.ca/fr"
        -},
        -"feedbackData": {
        -	"theme": "Thème",
        -	"section": "Section"
        -}
        - -

        Exemple de code

        -{%- highlight html -%} -
        -{%- endhighlight -%} -
        - Contenu ajouté via Ajax - {%- highlight html -%} - {%- include_relative assets/page-feedback-fr.html -%} - {%- endhighlight -%} -
        - -

        Variante 3: Signaler un problème sur cette page (SUP) Stable

        -

        Itération 5

        -

        Voici une liste des changements qui se sont produits depuis l'itération précédente :

        - - - - - - - - - - - - - -
        Majeurs -
          -
        • Suppression de l'extraction de données avec JSON Manager pour "externalReferer" et "subject".
        • -
        -
        Additions -
          -
        • Ajout de champs de saisie masqués statiques pour "externalReferer" et "subject"
        • -
        -
        Correctifsn/a
        - -

        Exemple(s) pratique(s)

        - - -

        Comment mettre en œuvre

        -
          -
        • Pour afficher le formulaire de commentaires sur la page, créez un <div> avec l'attribut suivant : data-ajax-replace="ajax/report-problem-fr.html".
        • -
        • Pour la version HTML de base, un lien doit être créé dans un <div> qui pointe vers la page du formulaire de signalement d'un problème : <div><a class="btn btn-default btn-block" href="https://www.canada.ca/fr/signaler-probleme.html">Signaler un problème sur cette page</a></div>.
        • -
        -

        Pour plus d'informations sur le plugin Data Ajax, veuillez visiter la page de documentation Data Ajax.

        -
        - Implémentation de Adobe Analytics -

        Pour implémenter Adobe Analytics dans le formulaire Signaler un problème, ajoutez simplement l'attribut data-gc-analytics-rap à chaque case à cocher avec la valeur étant la même que le "label" de la langue actuelle, suivie d'un tiret et suivi par le "label" de l'autre langue.

        -

        Par exemple :

        -
        <div class="checkbox">
        -	<label for="problem2">
        -		<input name="problem2" id="problem2" type="checkbox" value="Yes" data-gc-analytics-rap="Il y a une erreur d'orthographe ou de grammaire-It has a spelling mistake">Il y a une erreur d'orthographe ou de grammaire
        -	</label>
        -	<input name="problem2" type="hidden" value="">
        -</div>
        -
        - -
        Champs de saisie masqués
        -

        La variante Signaler un problème utilise JSON Manager et Data JSON pour obtenir des informations sur la page et générer des champs de saisie masqués dans le formulaire.

        -

        La balise suivante doit être présente dans la page : <meta name="author" content="[Nom du service]">
        Où [Nom du ministère] est un nom de ministère du vocabulaire contrôlé de canada.ca, par exemple : gc:institutions/service-canada

        - -
        Spécifique à GCWeb Jekyll
        -

        Pour appliquer cette variante sur une page donnée, vous devrez faire ce qui suit dans l'en-tête de la page ou dans les configurations du site (_config.yml).

        -
          -
        • définir la variable feedbackPath à "ajax/report-problem-fr.html".
        • -
        • définir la variable feedbackFallback à true.
        • -
        - -

        Exemple de code

        -{%- highlight html -%} - -{%- endhighlight -%} -
        - Contenu ajouté via Ajax - {%- highlight html -%} - {%- include_relative ajax/report-problem-fr.html -%} - {%- endhighlight -%} -
        - -

        Itérations précédentes

        -
        - Itération 4 -

        Voici une liste des changements qui se sont produits depuis l'itération précédente :

        - - - - - - - - - - - - - -
        Majeurs -
          -
        • Utilise JSON Manager Extractor et Data JSON pour générer des champs de saisie masqués
        • -
        -
        Additionsn/a
        Correctifsn/a
        - -

        Exemple de code

        - {%- highlight html -%} - - {%- endhighlight -%} -
        - Contenu ajouté via Ajax - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v4-fr.html -%} - {%- endhighlight -%} -
        -
        - -
        - Itération 3 -

        Voici une liste des changements qui se sont produits depuis l'itération précédente :

        - - - - - - - - - - - - - -
        Majeurs -
          -
        • Suppression des sous-options d'erreur de connexion.
        • -
        • Option d'erreur de connexion renommée.
        • -
        -
        Additionsn/a
        Correctifsn/a
        - -

        Exemple de code

        - {%- highlight html -%} - - {%- endhighlight -%} -
        - Contenu ajouté via Ajax - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v3-fr.html -%} - {%- endhighlight -%} -
        -
        - -
        - Itération 2 -

        Here is a list of changes that happened since the previous itération:

        - - - - - - - - - - - - - -
        Majeurs -
          -
        • Refonte du gabarit pour utiliser data-ajax. Inclut la solution de secours pour la version HTML de base.
        • -
        • Mise à jour du formulaire: -
            -
          • Implémente désormais wb-postback pour la validation des formulaires et n'utilise plus data-toggle lors de l'envoi.
          • -
          • Ajout d'options d'erreur de connexion (problème 5 à problème 10).
          • -
          • Ajout de messages d'erreur et de réussite.
          • -
          -
        • -
        -
        Additionsn/a
        Correctifsn/a
        - -

        Exemple de code

        - {%- highlight html -%} - - {%- endhighlight -%} -
        - Contenu ajouté via Ajax - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v2-fr.html -%} - {%- endhighlight -%} -
        -
        -
        - Itération 1 -

        Exemple de code

        - {%- highlight html -%} - {%- include_relative ajax/deprecated/report-problem-v1-fr.html -%} - {%- endhighlight -%} -
        diff --git a/sites/feedback/includes/feedback.html b/sites/feedback/includes/feedback.html index 96c3d7adef..312a8463c7 100644 --- a/sites/feedback/includes/feedback.html +++ b/sites/feedback/includes/feedback.html @@ -13,7 +13,6 @@ {%- endif -%} {%- endcapture -%} -