status-messages.html.twig
Same filename in this branch
- main core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
- main core/themes/olivero/templates/misc/status-messages.html.twig
- main core/themes/stable9/templates/media-library/status-messages.html.twig
- main core/themes/starterkit_theme/templates/misc/status-messages.html.twig
- main core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
- main core/modules/system/templates/status-messages.html.twig
- main core/themes/admin/templates/misc/status-messages.html.twig
- main core/themes/default_admin/templates/misc/status-messages.html.twig
Same filename and directory in other branches
- 10 core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
- 10 core/themes/olivero/templates/misc/status-messages.html.twig
- 10 core/themes/stable9/templates/media-library/status-messages.html.twig
- 10 core/themes/claro/templates/misc/status-messages.html.twig
- 10 core/themes/starterkit_theme/templates/misc/status-messages.html.twig
- 11.x core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
- 11.x core/themes/olivero/templates/misc/status-messages.html.twig
- 11.x core/themes/stable9/templates/media-library/status-messages.html.twig
- 11.x core/themes/claro/templates/misc/status-messages.html.twig
- 11.x core/themes/starterkit_theme/templates/misc/status-messages.html.twig
- 11.x core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
- 11.x core/modules/system/templates/status-messages.html.twig
- 10 core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
- 10 core/modules/system/templates/status-messages.html.twig
- 9 core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
- 9 core/themes/olivero/templates/misc/status-messages.html.twig
- 9 core/themes/stable9/templates/media-library/status-messages.html.twig
- 9 core/themes/seven/templates/classy/misc/status-messages.html.twig
- 9 core/themes/claro/templates/misc/status-messages.html.twig
- 9 core/themes/bartik/templates/status-messages.html.twig
- 9 core/themes/stable/templates/misc/status-messages.html.twig
- 9 core/themes/starterkit_theme/templates/misc/status-messages.html.twig
- 9 core/themes/classy/templates/misc/status-messages.html.twig
- 9 core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
- 9 core/modules/system/templates/status-messages.html.twig
- 8.9.x core/profiles/demo_umami/themes/umami/templates/components/messages/status-messages.html.twig
- 8.9.x core/themes/seven/templates/classy/misc/status-messages.html.twig
- 8.9.x core/themes/claro/templates/misc/status-messages.html.twig
- 8.9.x core/themes/bartik/templates/status-messages.html.twig
- 8.9.x core/themes/stable/templates/misc/status-messages.html.twig
- 8.9.x core/themes/classy/templates/misc/status-messages.html.twig
- 8.9.x core/modules/system/tests/themes/test_messages/templates/status-messages.html.twig
- 8.9.x core/modules/system/templates/status-messages.html.twig
- 11.x core/themes/admin/templates/misc/status-messages.html.twig
- 11.x core/themes/default_admin/templates/misc/status-messages.html.twig
Theme override for status messages.
Displays status, error, and warning messages, grouped by type.
An invisible heading identifies the messages for assistive technology. Sighted users see a colored box. See https://www.w3.org/TR/WCAG-TECHS/H69.html for info.
Each message block exposes an ARIA live region role so assistive technology user agents announce it appropriately: "alert" for errors and warnings (assertive) and "status" for other message types (polite). This matches the role assignment used by Drupal.theme.message() for messages added by JavaScript. The "contentinfo" landmark role is reserved for the page footer and is intentionally not used here, which avoids duplicate landmark and non-unique landmark accessibility violations.
Available variables:
- message_list: List of messages to be displayed, grouped by type.
- status_headings: List of all status types.
- attributes: HTML attributes for the element, including:
- class: HTML classes.
- title_ids: A list of unique ids keyed by message type.
See also
claro_preprocess_status_messages().
6 theme calls to status-messages.html.twig
- AnnounceRenderer::render in core/
modules/ announcements_feed/ src/ AnnounceRenderer.php - Generates the announcements feed render array.
- ConfigFormBase::checkConfigOverrides in core/
lib/ Drupal/ Core/ Form/ ConfigFormBase.php - Form #after_build callback: Adds message if overrides exist.
- ContentTranslationHandler::entityFormSharedElements in core/
modules/ content_translation/ src/ ContentTranslationHandler.php - Process callback: determines which elements get clue in the form.
- ContentTranslationHandlerTest::providerTestEntityFormSharedElements in core/
modules/ content_translation/ tests/ src/ Kernel/ ContentTranslationHandlerTest.php - Returns test cases for ::testEntityFormSharedElements().
- LayoutBuilderEntityFormTrait::buildMessageContainer in core/
modules/ layout_builder/ src/ Form/ LayoutBuilderEntityFormTrait.php - Build the message container.
File
-
core/
themes/ claro/ templates/ misc/ status-messages.html.twig
View source
- {#
- /**
- * @file
- * Theme override for status messages.
- *
- * Displays status, error, and warning messages, grouped by type.
- *
- * An invisible heading identifies the messages for assistive technology.
- * Sighted users see a colored box. See https://www.w3.org/TR/WCAG-TECHS/H69.html
- * for info.
- *
- * Each message block exposes an ARIA live region role so assistive technology
- * user agents announce it appropriately: "alert" for errors and warnings
- * (assertive) and "status" for other message types (polite). This matches the
- * role assignment used by Drupal.theme.message() for messages added by
- * JavaScript. The "contentinfo" landmark role is reserved for the page footer
- * and is intentionally not used here, which avoids duplicate landmark and
- * non-unique landmark accessibility violations.
- *
- * Available variables:
- * - message_list: List of messages to be displayed, grouped by type.
- * - status_headings: List of all status types.
- * - attributes: HTML attributes for the element, including:
- * - class: HTML classes.
- * - title_ids: A list of unique ids keyed by message type.
- *
- * @see claro_preprocess_status_messages().
- */
- #}
- <div data-drupal-messages class="messages-list">
- <div class="messages-list__wrapper">
- {% for type, messages in message_list %}
- {%
- set classes = [
- 'messages-list__item',
- 'messages',
- 'messages--' ~ type,
- ]
- %}
- {%
- set is_message_with_title = status_headings[type]
- %}
- {%
- set is_message_with_icon = type in ['error', 'status', 'warning']
- %}
-
- <div role="{{ type in ['error', 'warning'] ? 'alert' : 'status' }}" aria-labelledby="{{ title_ids[type] }}"{{ attributes.addClass(classes)|without('role', 'aria-label') }}>
- {% if is_message_with_title or is_message_with_icon %}
- <div class="messages__header">
- {% if is_message_with_title %}
- <h2 id="{{ title_ids[type] }}" class="messages__title">
- {{ status_headings[type] }}
- </h2>
- {% endif %}
- </div>
- {% endif %}
- <div class="messages__content">
- {% if messages|length > 1 %}
- <ul class="messages__list">
- {% for message in messages %}
- <li class="messages__item">{{ message }}</li>
- {% endfor %}
- </ul>
- {% else %}
- {{ messages|first }}
- {% endif %}
- </div>
- </div>
- {# Remove type specific classes. #}
- {% set attributes = attributes.removeClass(classes) %}
- {% endfor %}
- </div>
- </div>
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.