|
1 | | -{% set tag_name = tag_name|default('article') %} |
2 | | -{% set header_tag_name = header_tag_name|default('header') %} |
3 | | -{% set footer_tag_name = footer_tag_name|default('footer') %} |
4 | | - |
5 | | -{% set heading_level = heading_level|default(2) %} |
| 1 | +{% set _tag_name = tag_name|default('article') %} |
| 2 | +{# |
| 3 | + Using `header` inside a `div` causes pointless "banner" landmarks in |
| 4 | + the VoiceOver rotor. As a result, we set the default header/footer |
| 5 | + element to `div` if the `tag_name` is anything but `article` or `section`. |
| 6 | +#} |
| 7 | +{% set _is_sectioning = _tag_name in ['article', 'section'] %} |
| 8 | +{% set _default_header_tag = _is_sectioning ? 'header' : 'div' %} |
| 9 | +{% set _default_footer_tag = _is_sectioning ? 'footer' : 'div' %} |
| 10 | +{% set _header_tag_name = header_tag_name|default(_default_header_tag) %} |
| 11 | +{% set _footer_tag_name = footer_tag_name|default(_default_footer_tag) %} |
| 12 | + |
| 13 | +{% set _heading_level = heading_level|default(2) %} |
6 | 14 |
|
7 | 15 | {% set _heading_block %}{% block heading %}{% endblock %}{% endset %} |
8 | 16 | {% set _cover_block %}{% block cover %}{% endblock %}{% endset %} |
9 | 17 | {% set _content_block %}{% block content %}{% endblock %}{% endset %} |
10 | 18 | {% set _footer_block %}{% block footer %}{% endblock %}{% endset %} |
11 | 19 |
|
12 | | -<{{ tag_name }} class=" |
| 20 | +<{{ _tag_name }} class=" |
13 | 21 | c-card |
14 | 22 | {% if href %}c-card--with-link{% endif %} |
15 | 23 | {% if class %}{{ class }}{% endif %}" |
16 | 24 | {% if heading_id and _heading_block is not empty %}aria-labelledby="{{heading_id}}"{% endif %}> |
17 | 25 |
|
18 | 26 | {% if _heading_block is not empty %} |
19 | | - <{{ header_tag_name }} class="c-card__header"> |
20 | | - <h{{ heading_level }} class="c-card__heading"{% if heading_id %} id="{{heading_id}}"{% endif %}> |
| 27 | + <{{ _header_tag_name }} class="c-card__header"> |
| 28 | + <h{{ _heading_level }} class="c-card__heading"{% if heading_id %} id="{{heading_id}}"{% endif %}> |
21 | 29 | {% if href %} |
22 | 30 | <a href="{{ href }}" class="c-card__link"> |
23 | 31 | {{ _heading_block }} |
24 | 32 | </a> |
25 | 33 | {% else %} |
26 | 34 | {{ _heading_block }} |
27 | 35 | {% endif %} |
28 | | - </h{{ heading_level }}> |
29 | | - </{{ header_tag_name }}> |
| 36 | + </h{{ _heading_level }}> |
| 37 | + </{{ _header_tag_name }}> |
30 | 38 | {% endif %} |
31 | 39 |
|
32 | 40 | {% if _cover_block is not empty %} |
|
42 | 50 | {% endif %} |
43 | 51 |
|
44 | 52 | {% if _footer_block is not empty %} |
45 | | - <{{ footer_tag_name }} class="c-card__footer"> |
| 53 | + <{{ _footer_tag_name }} class="c-card__footer"> |
46 | 54 | {{ _footer_block }} |
47 | | - </{{ footer_tag_name }}> |
| 55 | + </{{ _footer_tag_name }}> |
48 | 56 | {% endif %} |
49 | 57 |
|
50 | | -</{{ tag_name }}> |
| 58 | +</{{ _tag_name }}> |
0 commit comments