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 http://www.w3.org/TR/WCAG-TECHS/H69.html for info.
Add an ARIA label to the contentinfo area so that assistive technology user agents will better describe this landmark.
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.
 - CKEditor5::buildConfigurationForm in core/
modules/ ckeditor5/ src/ Plugin/ Editor/ CKEditor5.php  - Form constructor.
 - 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 http://www.w3.org/TR/WCAG-TECHS/H69.html
 -  * for info.
 -  *
 -  * Add an ARIA label to the contentinfo area so that assistive technology
 -  * user agents will better describe this landmark.
 -  *
 -  * 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="contentinfo" aria-labelledby="{{ title_ids[type] }}"{{ attributes.addClass(classes)|without('role', 'aria-label') }}>
 -         {% if type == 'error' %}
 -           <div role="alert">
 -         {% endif %}
 -           {% 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>
 -         {% if type == 'error' %}
 -           </div>
 -         {% endif %}
 -       </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.