@ons/design-system 74.0.0-next.8 → 74.0.0-widen.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +2 -2
  2. package/components/access-code/example-access-code-error.njk +1 -1
  3. package/components/access-code/example-access-code.njk +1 -1
  4. package/components/address-input/_macro.njk +6 -6
  5. package/components/address-input/_macro.spec.js +0 -3
  6. package/components/address-input/autosuggest.address.spec.js +23 -0
  7. package/components/address-output/_macro.njk +1 -1
  8. package/components/announcement-banner/_announcement-banner.scss +5 -0
  9. package/components/autosuggest/_autosuggest.scss +8 -0
  10. package/components/autosuggest/autosuggest.spec.js +1 -0
  11. package/components/autosuggest/autosuggest.ui.js +11 -5
  12. package/components/back-to-top/_back-to-top.scss +7 -0
  13. package/components/back-to-top/_macro.njk +1 -1
  14. package/components/back-to-top/back-to-top.js +9 -1
  15. package/components/back-to-top/back-to-top.spec.js +46 -0
  16. package/components/card/example-card-set-with-headline-figures.njk +4 -4
  17. package/components/char-check-limit/_macro.njk +16 -14
  18. package/components/chart/_macro.njk +3 -0
  19. package/components/chart/_macro.spec.js +49 -0
  20. package/components/chart/bar-chart.js +18 -12
  21. package/components/chart/chart.js +4 -1
  22. package/components/chart/common-chart-options.js +1 -0
  23. package/components/chart/example-stacked-column-with-line-chart.njk +64 -0
  24. package/components/details/_details.scss +9 -0
  25. package/components/details/example-details-with-warning.njk +1 -1
  26. package/components/details-panel/_macro.njk +1 -1
  27. package/components/download-resources/download-resources.spec.js +1 -4
  28. package/components/featured-article/_macro.njk +4 -4
  29. package/components/featured-article/macro.spec.js +2 -2
  30. package/components/feedback/_macro.njk +4 -1
  31. package/components/feedback/_macro.spec.js +1 -1
  32. package/components/figure/_figure.scss +1 -0
  33. package/components/figure/_macro.njk +3 -3
  34. package/components/footer/_macro.njk +5 -2
  35. package/components/header/_macro.njk +5 -1
  36. package/components/header/_macro.spec.js +21 -0
  37. package/components/hero/_hero.scss +4 -0
  38. package/components/input/_input.scss +4 -0
  39. package/components/input/_macro.njk +4 -1
  40. package/components/label/_label.scss +3 -0
  41. package/components/list/_list.scss +5 -0
  42. package/components/message/_message.scss +3 -3
  43. package/components/message-list/_message-list.scss +2 -0
  44. package/components/panel/_macro.njk +1 -1
  45. package/components/panel/_panel.scss +8 -0
  46. package/components/panel/example-panel-bare.njk +1 -1
  47. package/components/phase-banner/_phase-banner.scss +1 -0
  48. package/components/quote/_macro.njk +1 -1
  49. package/components/skip-to-content/_macro.njk +1 -1
  50. package/components/skip-to-content/_skip.scss +8 -0
  51. package/components/summary/_macro.njk +3 -2
  52. package/components/summary/_summary.scss +6 -1
  53. package/components/table-of-contents/example-table-of-contents-sticky-full-page-ordered.njk +104 -106
  54. package/components/table-of-contents/example-table-of-contents-sticky-full-page.njk +103 -105
  55. package/components/table-of-contents/example-table-of-contents-sticky.njk +1 -1
  56. package/components/tabs/tabs.spec.js +1 -4
  57. package/css/main.css +1 -1
  58. package/package.json +55 -53
  59. package/scripts/chart.es5.js +1 -1
  60. package/scripts/chart.js +1 -1
  61. package/scripts/main.es5.js +3 -3
  62. package/scripts/main.js +3 -3
  63. package/scss/base/_typography.scss +9 -0
  64. package/scss/helpers/_mixins.scss +8 -0
  65. package/scss/objects/_container.scss +21 -4
  66. package/scss/utilities/_grid.scss +10 -25
  67. package/scss/utilities/_utilities.scss +10 -0
  68. package/scss/vars/_forms.scss +2 -1
  69. package/scss/vars/_grid.scss +22 -3
  70. package/scss/vars/_index.scss +1 -0
  71. package/scss/vars/_utilities.scss +2 -0
@@ -1,9 +1,6 @@
1
- import { KnownDevices } from 'puppeteer';
2
- import { setViewport } from '../../tests/helpers/puppeteer';
1
+ import { iPhoneX, setViewport } from '../../tests/helpers/puppeteer';
3
2
  import { renderComponent, renderTemplate, setTestPage } from '../../tests/helpers/rendering';
4
3
 
5
- const iPhoneX = KnownDevices['iPhone X'];
6
-
7
4
  /* eslint-disable indent */
8
5
  const EXAMPLE_PAGE = `
9
6
  <div class="ons-page">
@@ -31,12 +31,12 @@
31
31
 
32
32
  {# The media (a nested figure containing a chart or image) is provided via the caller
33
33
  block, so the article does not need to know how the content is rendered. #}
34
- <div class="ons-featured__media">
35
- {{ caller() if caller }}
36
- </div>
34
+ <div class="ons-featured__media">{{ caller() if caller }}</div>
37
35
 
38
36
  {% if params.description %}
39
- <div class="ons-featured__description">{{ params.description | safe }}</div>
37
+ <div class="ons-featured__description">
38
+ <div class="ons-u-reading-width">{{ params.description | safe }}</div>
39
+ </div>
40
40
  {% endif %}
41
41
  </div>
42
42
  {% endmacro %}
@@ -123,8 +123,8 @@ describe('Macro: Featured Article', () => {
123
123
  EXAMPLE_CHART_CALLER_CONTENT,
124
124
  ),
125
125
  );
126
- const title = $('.ons-featured__description').html().trim();
127
- expect(title).toBe('Some description');
126
+ const description = $('.ons-featured__description .ons-u-reading-width').html().trim();
127
+ expect(description).toBe('Some description');
128
128
  });
129
129
  });
130
130
  });
@@ -7,6 +7,9 @@
7
7
  {{ params.heading }}
8
8
  {{ closingHeadingTag | safe }}
9
9
  <p class="ons-feedback__content">{{- params.content | safe -}}</p>
10
- <a href="{{ params.linkUrl }}" class="ons-feedback__link">{{- params.linkText -}}</a>
10
+ {# p tag ensures reading width is applied #}
11
+ <p class="ons-u-mb-no">
12
+ <a href="{{ params.linkUrl }}" class="ons-feedback__link">{{- params.linkText -}}</a>
13
+ </p>
11
14
  </div>
12
15
  {% endmacro %}
@@ -110,7 +110,7 @@ describe('FOR: Macro: Feedback', () => {
110
110
  describe('WHEN: content is provided', () => {
111
111
  const $ = cheerio.load(renderComponent('feedback', EXAMPLE_FEEDBACK));
112
112
  test('THEN: renders paragraph with the provided content', () => {
113
- expect($('p').text().trim()).toBe('Feedback content...');
113
+ expect($('p').first().text().trim()).toBe('Feedback content...');
114
114
  });
115
115
  });
116
116
  });
@@ -6,6 +6,7 @@
6
6
  font-size: 1.125rem;
7
7
  font-weight: $font-weight-bold;
8
8
  line-height: 1.3;
9
+ display: block;
9
10
  }
10
11
 
11
12
  &__title {
@@ -34,7 +34,7 @@
34
34
 
35
35
  {{ openingRootTag | safe }}
36
36
  {% if params.figureNumber %}
37
- <span class="ons-figure__number">{{ params.figureNumber }}</span>
37
+ <span class="ons-figure__number ons-u-reading-width">{{ params.figureNumber }}</span>
38
38
  {% endif %}
39
39
  {% if params.title %}
40
40
  {{ openingTitleTag | safe }}{{ params.title }}{{ closingTitleTag | safe }}
@@ -61,9 +61,9 @@
61
61
 
62
62
  {% if params.caption %}
63
63
  {% if rootElement == 'figure' %}
64
- <figcaption class="ons-figure__caption">{{ params.caption }}</figcaption>
64
+ <figcaption class="ons-figure__caption ons-u-reading-width">{{ params.caption }}</figcaption>
65
65
  {% else %}
66
- <span class="ons-figure__caption">{{ params.caption }}</span>
66
+ <span class="ons-figure__caption ons-u-reading-width">{{ params.caption }}</span>
67
67
  {% endif %}
68
68
  {% endif %}
69
69
  {{ closingRootTag | safe }}
@@ -53,14 +53,17 @@
53
53
  {% if params.footerWarning %}
54
54
  {% from "components/panel/_macro.njk" import onsPanel %}
55
55
  <div class="ons-footer__warning">
56
- <div class="ons-container">
56
+ <div
57
+ class="ons-container{{ ' ons-container--full-width' if params.fullWidth else "" }}{{ ' ons-container--wide' if params.wide else "" }}"
58
+ >
57
59
  {%
58
60
  call onsPanel({
59
61
  "variant": "warn",
60
62
  "classes": "ons-panel--warn--footer"
61
63
  })
62
64
  %}
63
- {{ params.footerWarning | safe }}
65
+ {# p tag ensures reading width is applied #}
66
+ <div class="ons-u-reading-width">{{ params.footerWarning | safe }}</div>
64
67
  {% endcall %}
65
68
  </div>
66
69
  </div>
@@ -175,6 +175,10 @@
175
175
  {% elif params.serviceLinks.itemsList | length > 1 %}
176
176
  {% set breakpoint = 'm' %}
177
177
  {% set controlVisibility = true %}
178
+ {% if params.mastheadLogo.multipleLogos | length > 2 %}
179
+ {# Increase breakpoint if there are 3 logos to avoid stacking#}
180
+ {% set breakpoint = 'l' %}
181
+ {% endif %}
178
182
  {% else %}
179
183
  {% set controlVisibility = false %}
180
184
  {% endif %}
@@ -370,7 +374,7 @@
370
374
  "name": params.search.form.inputName | default('q'),
371
375
  "width": 'full',
372
376
  "label": {
373
- "text": (params.search.form.inputLabel if params.search.form else params.searchLinks.searchNavigationInputLabel) | default('Chwilio’r SYG' if params.lang == 'cy' else 'Search the ONS'),
377
+ "text": (params.search.form.inputLabel if params.search.form else params.searchLinks.searchNavigationInputLabel) | default('Chwilio’r SYG' if currentLanguageIsoCode == 'cy' else 'Search the ONS'),
374
378
  "id": "header-search-input-label"
375
379
  },
376
380
  "searchButton": {
@@ -1131,6 +1131,27 @@ describe('FOR: Macro: Header', () => {
1131
1131
  expect($('#header-search-input-label').text().trim()).toBe('Search the ONS');
1132
1132
  });
1133
1133
  });
1134
+ describe('WHEN: inputLabel is not provided and Welsh is the current language', () => {
1135
+ const $ = cheerio.load(
1136
+ renderComponent('header', {
1137
+ ...EXAMPLE_HEADER_SEARCH,
1138
+ variants: 'basic',
1139
+ language: {
1140
+ languages: [
1141
+ { url: '#0', isoCode: 'en', text: 'English', current: false },
1142
+ { url: '#0', isoCode: 'cy', text: 'Cymraeg', current: true },
1143
+ ],
1144
+ },
1145
+ search: {
1146
+ ...EXAMPLE_HEADER_SEARCH.search,
1147
+ form: { ...EXAMPLE_HEADER_SEARCH.search.form, inputLabel: undefined },
1148
+ },
1149
+ }),
1150
+ );
1151
+ test('THEN: renders search input with Welsh default label', () => {
1152
+ expect($('#header-search-input-label').text().trim()).toBe('Chwilio’r SYG');
1153
+ });
1154
+ });
1134
1155
  describe('WHEN: buttonText is provided', () => {
1135
1156
  const $ = cheerio.load(renderComponent('header', { ...EXAMPLE_HEADER_SEARCH, variants: 'basic' }));
1136
1157
 
@@ -466,6 +466,10 @@
466
466
  display: flex;
467
467
  flex-direction: column-reverse;
468
468
  }
469
+
470
+ &__text {
471
+ @include no-reading-width;
472
+ }
469
473
  }
470
474
 
471
475
  @include panel-variant(ons-red, var(--ons-color-errors), var(--ons-color-errors-tint));
@@ -43,6 +43,10 @@
43
43
  &--textarea {
44
44
  // Prevent inner shadow on iOS
45
45
  appearance: none;
46
+
47
+ &:not(.ons-input--header-search, [class*='--w-']) {
48
+ @include reading-width;
49
+ }
46
50
  }
47
51
 
48
52
  &:focus {
@@ -60,7 +60,10 @@
60
60
  <!-- prettier-ignore-end -->
61
61
  {% endif %}
62
62
  {% if params.postTextboxLinkText %}
63
- <a class="ons-u-fs-s ons-input__post-link" href="{{ params.postTextboxLinkUrl }}">{{ params.postTextboxLinkText }}</a>
63
+ {# p tag ensures reading width is applied #}
64
+ <p class="ons-u-mb-no">
65
+ <a class="ons-u-fs-s ons-input__post-link" href="{{ params.postTextboxLinkUrl }}">{{ params.postTextboxLinkText }}</a>
66
+ </p>
64
67
  {% endif %}
65
68
  {% endset %}
66
69
 
@@ -1,4 +1,6 @@
1
1
  .ons-label {
2
+ @include reading-width;
3
+
2
4
  color: inherit;
3
5
  display: block;
4
6
  font-weight: $font-weight-bold;
@@ -6,6 +8,7 @@
6
8
 
7
9
  &__description {
8
10
  @extend .ons-u-fs-s;
11
+ @include reading-width;
9
12
 
10
13
  display: block;
11
14
  }
@@ -3,6 +3,8 @@
3
3
  padding: 0 0 0 1.5rem;
4
4
 
5
5
  &__item {
6
+ @include reading-width;
7
+
6
8
  &:first-child {
7
9
  margin-top: 0.5rem;
8
10
  }
@@ -109,14 +111,17 @@
109
111
  }
110
112
 
111
113
  @include bp-suffix('ons-list--inline') {
114
+ /* stylelint-disable-next-line nesting-selector-no-missing-scoping-root */
112
115
  &:not(.ons-list--icons) {
113
116
  margin: 0 1rem 0 0;
114
117
  .ons-list__item {
118
+ max-width: none;
115
119
  display: inline-block;
116
120
  margin: 0 1rem 0 0;
117
121
  }
118
122
  }
119
123
 
124
+ /* stylelint-disable-next-line nesting-selector-no-missing-scoping-root */
120
125
  &.ons-list--icons {
121
126
  align-items: center;
122
127
  display: flex;
@@ -1,7 +1,7 @@
1
1
  @use 'sass:math';
2
2
 
3
3
  .ons-message {
4
- border-radius: math.div($grid-gutters, 2);
4
+ border-radius: math.div($grid-gutter-standard, 2);
5
5
  margin-bottom: 2rem;
6
6
  outline: 1px solid transparent; // Add transparent outline because Windows High Contrast Mode doesn't show background
7
7
 
@@ -23,7 +23,7 @@
23
23
 
24
24
  &__head {
25
25
  border-bottom: 1px solid var(--ons-color-borders);
26
- padding: $grid-gutters;
26
+ padding: $grid-gutter-standard;
27
27
  position: relative;
28
28
  }
29
29
 
@@ -50,6 +50,6 @@
50
50
  }
51
51
 
52
52
  &__body {
53
- padding: $grid-gutters;
53
+ padding: $grid-gutter-standard;
54
54
  }
55
55
  }
@@ -16,6 +16,8 @@
16
16
  }
17
17
 
18
18
  &__metadata {
19
+ @include reading-width;
20
+
19
21
  margin: 0 0 1rem;
20
22
 
21
23
  &-term,
@@ -62,7 +62,7 @@
62
62
  {% set closingTag = "</" ~ titleTag ~ ">" %}
63
63
  <div class="ons-panel__header">
64
64
  {{ openingTag | safe }} id="alert"{% if params.variant %}data-qa="{{ params.variant }}-header"{% endif %}
65
- class="ons-panel__title ons-u-fs-r--b">{{ params.title | safe }}{{ closingTag | safe }}
65
+ class="ons-panel__title ons-u-fs-r--b ons-u-reading-width">{{ params.title | safe }}{{ closingTag | safe }}
66
66
  </div>
67
67
  {% else %}
68
68
  {% if not params.variant or params.variant == "branded" or params.variant == "info" or params.variant == "bare" %}
@@ -112,6 +112,14 @@
112
112
  margin: 0;
113
113
  }
114
114
  }
115
+
116
+ // Restrict the width of textual content within the panel body (paragraphs are already globally restricted)
117
+ ul,
118
+ ol,
119
+ label,
120
+ legend {
121
+ @include reading-width;
122
+ }
115
123
  }
116
124
 
117
125
  &__error {
@@ -6,5 +6,5 @@
6
6
  "iconType": 'lock'
7
7
  })
8
8
  %}
9
- Here is some text with an icon
9
+ <p>Here is some text with an icon</p>
10
10
  {% endcall %}
@@ -15,5 +15,6 @@
15
15
 
16
16
  &__desc {
17
17
  margin-top: 0.25rem;
18
+ @include no-reading-width;
18
19
  }
19
20
  }
@@ -1,5 +1,5 @@
1
1
  {% macro onsQuote(params) %}
2
- <blockquote class="ons-quote">
2
+ <blockquote class="ons-quote ons-u-reading-width">
3
3
  {% from "components/icon/_macro.njk" import onsIcon %}
4
4
  {{-
5
5
  onsIcon({
@@ -1,6 +1,6 @@
1
1
  {% macro onsSkipToContent(params) %}
2
2
  <div role="region">
3
3
  {% set text = params.text | default('Skip to content') %}
4
- <a class="ons-skip-to-content ons-u-fs-r--b" href="{{ params.url }}">{{ text }}</a>
4
+ <a class="ons-skip-to-content ons-u-fs-r--b" href="{{ params.url }}"><span class="ons-skip-to-content__text">{{ text }}</span></a>
5
5
  </div>
6
6
  {% endmacro %}
@@ -1,4 +1,5 @@
1
1
  .ons-skip-to-content {
2
+ /* stylelint-disable-next-line property-no-deprecated */
2
3
  clip: rect(0 0 0 0);
3
4
  clip-path: inset(50%);
4
5
  display: block;
@@ -13,6 +14,7 @@
13
14
  &:focus {
14
15
  background-color: var(--ons-color-focus);
15
16
  box-shadow: 0;
17
+ /* stylelint-disable-next-line property-no-deprecated */
16
18
  clip: auto;
17
19
  clip-path: none;
18
20
  color: var(--ons-color-text-link-focus);
@@ -28,4 +30,10 @@
28
30
  white-space: inherit;
29
31
  width: auto;
30
32
  }
33
+
34
+ &__text {
35
+ // Reading width max-width is hard-coded as skip to content sits outside the `ons-container` class
36
+ max-width: $reading-width;
37
+ display: block;
38
+ }
31
39
  }
@@ -24,8 +24,9 @@
24
24
  {% if group.title %}
25
25
  {% set openingHeadingTag = "<h" ~ headingLevel %}
26
26
  {% set closingHeadingTag = "</h" ~ headingLevel ~ ">" %}
27
- {{ openingHeadingTag | safe }}
28
- class="ons-summary__group-title">{{ group.title }}{{ closingHeadingTag | safe }}
27
+ <div class="ons-summary__group-title-wrapper">
28
+ {{ openingHeadingTag | safe }} class="ons-summary__group-title">{{ group.title }}{{ closingHeadingTag | safe }}
29
+ </div>
29
30
  {% endif %}
30
31
  {% if group.rows %}
31
32
  <dl class="ons-summary__items">
@@ -217,9 +217,14 @@ $hub-row-spacing: 1.3rem;
217
217
  border-bottom: 1px solid var(--ons-color-borders-light);
218
218
  }
219
219
  }
220
- .ons-summary__group-title {
220
+ .ons-summary__group-title-wrapper {
221
221
  background-color: var(--ons-color-grey-5);
222
222
  padding: 1rem 1.25rem;
223
+ margin-bottom: 1rem;
224
+
225
+ .ons-summary__group-title {
226
+ margin: 0;
227
+ }
223
228
  }
224
229
  .ons-summary__link {
225
230
  padding: 0 1.25rem;
@@ -35,122 +35,120 @@ layout: ~
35
35
  %}
36
36
 
37
37
  {% block mainContent %}
38
- <div class="ons-page__container ons-container">
39
- <div class="ons-grid ons-js-table-of-contents-container">
40
- <div class="ons-grid__col ons-grid__col--sticky@m ons-col-4@m">
41
- {{
42
- onsTableOfContents({
43
- "title": 'Contents',
44
- "ariaLabel": 'Sections in this page',
45
- "ordered": true,
46
- "itemsList": [
47
- {
48
- "url": '#section1',
49
- "text": 'What is the census?'
50
- },
51
- {
52
- "url": '#section2',
53
- "text": 'The online census has now closed'
54
- },
55
- {
56
- "url": '#section3',
57
- "text": 'What happens after Census Day'
58
- },
59
- {
60
- "url": '#section4',
61
- "text": 'The census in Northern Ireland and Scotland'
62
- },
63
- {
64
- "url": '#section5',
65
- "text": 'The last census'
66
- }
67
- ]
68
- })
69
- }}
70
- </div>
71
- <div class="ons-grid__col ons-col-7@m ons-push-1@m">
72
- <section id="section1">
73
- <h2>1. What is the census?</h2>
74
- <p>
75
- The census is a survey that happens every 10 years and gives us a picture of all the people and households in
76
- England and Wales.
77
- </p>
38
+ <div class="ons-grid ons-js-table-of-contents-container">
39
+ <div class="ons-grid__col ons-grid__col--sticky@m ons-col-4@m">
40
+ {{
41
+ onsTableOfContents({
42
+ "title": 'Contents',
43
+ "ariaLabel": 'Sections in this page',
44
+ "ordered": true,
45
+ "itemsList": [
46
+ {
47
+ "url": '#section1',
48
+ "text": 'What is the census?'
49
+ },
50
+ {
51
+ "url": '#section2',
52
+ "text": 'The online census has now closed'
53
+ },
54
+ {
55
+ "url": '#section3',
56
+ "text": 'What happens after Census Day'
57
+ },
58
+ {
59
+ "url": '#section4',
60
+ "text": 'The census in Northern Ireland and Scotland'
61
+ },
62
+ {
63
+ "url": '#section5',
64
+ "text": 'The last census'
65
+ }
66
+ ]
67
+ })
68
+ }}
69
+ </div>
70
+ <div class="ons-grid__col ons-col-8@m">
71
+ <section id="section1">
72
+ <h2>1. What is the census?</h2>
73
+ <p>
74
+ The census is a survey that happens every 10 years and gives us a picture of all the people and households in
75
+ England and Wales.
76
+ </p>
78
77
 
79
- <p>
80
- Your answers to the census questions will help organisations make decisions on planning and funding public services
81
- in your area, including transport, education and healthcare.
82
- </p>
83
- </section>
84
- <section id="section2">
85
- <h2>2. The online census has now closed</h2>
86
- <p>Census Day was on Sunday 21 March 2021.</p>
78
+ <p>
79
+ Your answers to the census questions will help organisations make decisions on planning and funding public services
80
+ in your area, including transport, education and healthcare.
81
+ </p>
82
+ </section>
83
+ <section id="section2">
84
+ <h2>2. The online census has now closed</h2>
85
+ <p>Census Day was on Sunday 21 March 2021.</p>
87
86
 
88
- <p>
89
- If you still have a paper census questionnaire, fill it in as soon as you can and return it to FREEPOST, Census
90
- 2021.
91
- </p>
92
- </section>
93
- <section id="section3">
94
- <h2>3. What happens after Census Day</h2>
95
- <p>
96
- Two follow-up surveys, the <a href="#0">Census Coverage Survey</a> and the <a href="#0">Census Quality Survey</a>,
97
- help to improve the quality and accuracy of the census results.
98
- </p>
87
+ <p>
88
+ If you still have a paper census questionnaire, fill it in as soon as you can and return it to FREEPOST, Census
89
+ 2021.
90
+ </p>
91
+ </section>
92
+ <section id="section3">
93
+ <h2>3. What happens after Census Day</h2>
94
+ <p>
95
+ Two follow-up surveys, the <a href="#0">Census Coverage Survey</a> and the <a href="#0">Census Quality Survey</a>,
96
+ help to improve the quality and accuracy of the census results.
97
+ </p>
99
98
 
100
- <p>
101
- Over the next year, we work hard to process the answers from all the census questionnaires. This is so that we can
102
- publish the initial Census 2021 findings one year after the census and the main releases two years after the census.
103
- </p>
99
+ <p>
100
+ Over the next year, we work hard to process the answers from all the census questionnaires. This is so that we can
101
+ publish the initial Census 2021 findings one year after the census and the main releases two years after the census.
102
+ </p>
104
103
 
105
- <p>
106
- To make sure the Census 2021 statistics we publish meet the needs of those who use them, we also run an outputs
107
- consultation.
108
- </p>
109
- </section>
110
- <section id="section4">
111
- <h2>4. The census in Northern Ireland and Scotland</h2>
112
- <p>The Office for National Statistics (ONS) runs the census in England and Wales.</p>
104
+ <p>
105
+ To make sure the Census 2021 statistics we publish meet the needs of those who use them, we also run an outputs
106
+ consultation.
107
+ </p>
108
+ </section>
109
+ <section id="section4">
110
+ <h2>4. The census in Northern Ireland and Scotland</h2>
111
+ <p>The Office for National Statistics (ONS) runs the census in England and Wales.</p>
113
112
 
114
- <p>
115
- If you live in Northern Ireland, visit the Northern Ireland Statistics Agency (NISRA) census website to find out
116
- about the census for Northern Ireland.
117
- </p>
113
+ <p>
114
+ If you live in Northern Ireland, visit the Northern Ireland Statistics Agency (NISRA) census website to find out
115
+ about the census for Northern Ireland.
116
+ </p>
118
117
 
119
- <p>
120
- If you live in Scotland, visit the National Records of Scotland census website to find out how to take part in the
121
- census for Scotland.
122
- </p>
123
- </section>
124
- <section id="section5">
125
- <h2>5. The last census</h2>
126
- <p>
127
- The last census took place in 2011. Many people and organisations used information from the 2011 Census in a variety
128
- of ways.
129
- </p>
118
+ <p>
119
+ If you live in Scotland, visit the National Records of Scotland census website to find out how to take part in the
120
+ census for Scotland.
121
+ </p>
122
+ </section>
123
+ <section id="section5">
124
+ <h2>5. The last census</h2>
125
+ <p>
126
+ The last census took place in 2011. Many people and organisations used information from the 2011 Census in a variety
127
+ of ways.
128
+ </p>
130
129
 
131
- <p>
132
- For example, Bristol City Council used it to inform decisions on how to fund local housing improvements. It was also
133
- essential for the charity Redbridge Council for Voluntary Services to help people from ethnic minority groups learn
134
- more about dementia.
135
- </p>
130
+ <p>
131
+ For example, Bristol City Council used it to inform decisions on how to fund local housing improvements. It was also
132
+ essential for the charity Redbridge Council for Voluntary Services to help people from ethnic minority groups learn
133
+ more about dementia.
134
+ </p>
136
135
 
137
- <p>
138
- To read more about the benefits that information from the 2011 Census helped to create, visit the Office for
139
- National Statistics (ONS) website.
140
- </p>
141
- <p>
142
- The Census Coverage Survey (CCS) was a short, separate survey that we at the Office for National Statistics (ONS)
143
- started six to eight weeks after Census Day.
144
- </p>
136
+ <p>
137
+ To read more about the benefits that information from the 2011 Census helped to create, visit the Office for
138
+ National Statistics (ONS) website.
139
+ </p>
140
+ <p>
141
+ The Census Coverage Survey (CCS) was a short, separate survey that we at the Office for National Statistics (ONS)
142
+ started six to eight weeks after Census Day.
143
+ </p>
145
144
 
146
- <p>
147
- The CCS helps make sure everyone is counted and our census results are as accurate as possible. It asked similar
148
- questions to the main census, just fewer of them, at addresses in a selection of postcodes across England and Wales.
149
- </p>
145
+ <p>
146
+ The CCS helps make sure everyone is counted and our census results are as accurate as possible. It asked similar
147
+ questions to the main census, just fewer of them, at addresses in a selection of postcodes across England and Wales.
148
+ </p>
150
149
 
151
- <p>The CCS has now closed.</p>
152
- </section>
153
- </div>
150
+ <p>The CCS has now closed.</p>
151
+ </section>
154
152
  </div>
155
153
  </div>
156
154
  {% endblock %}