Drupal version 8.8+ offers a new embed media library functionality in the CKeditor. Content editor can embed a drupal media using the new media library. When embedding an image that has caption, it would say "Enter caption here" underneath the media image. Unfortunately it doesn't work very well with Radix. The placeholder "Enter caption here" is nowhere to be seen, so you can't enter the caption.
After debugging, I found that it was due to the template file: "templates/field/filter-caption.html.twig"; which loads "src/components/figure/figure.twig", having caption conditional check before rendering it.
Besides that, also the class "caption" must be present in the figure tag.
Not working:
{% set classes = [
'figure',
]|merge(utility_classes ? utility_classes : []) %}
<figure{{ attributes.addClass(classes) }}>
{{ image }}
{% if caption %}
<figcaption class="figure-caption">{{ caption }}</figcaption>
{% endif %}
</figure>
Working:
{% set classes = [
'figure',
'caption',
]|merge(utility_classes ? utility_classes : []) %}
<figure{{ attributes.addClass(classes) }}>
{{ image }}
<figcaption class="figure-caption">{{ caption }}</figcaption>
</figure>
All other themes (e.g. bartik, olivero) don't have caption conditional check in their templates.