diff --git a/tests/test_extension.py b/tests/test_extension.py
index 7a3d436..b249ce4 100644
--- a/tests/test_extension.py
+++ b/tests/test_extension.py
@@ -56,3 +56,46 @@ def test_extended_components_render():
assert 'id="message"' in rendered
assert 'id="example"' in rendered
assert "Dialog content" in rendered
+
+
+def test_component_markup_exposes_accessible_semantics():
+ app = Flask(__name__)
+ Jinjalume(app)
+
+ template = """
+ {% from "jinjalume/components/alert.html" import alert %}
+ {% from "jinjalume/components/avatar.html" import avatar %}
+ {% from "jinjalume/components/button.html" import button %}
+ {% from "jinjalume/components/input.html" import input_field %}
+ {% from "jinjalume/components/modal.html" import modal %}
+ {% from "jinjalume/components/spinner.html" import spinner %}
+ {% from "jinjalume/components/textarea.html" import textarea_field %}
+ {{ button("Save", disabled=True) }}
+ {{ input_field("email", label="Email", error="Enter an email address") }}
+ {{ textarea_field("message", label="Message", error="Enter a message") }}
+ {{ alert("Changes were saved", title="Saved") }}
+ {{ avatar("Jinjalume", src="/avatar.png") }}
+ {{ spinner("Saving") }}
+ {% call modal("confirm", "Confirm changes") %}Review your changes.{% endcall %}
+ """
+
+ with app.app_context():
+ rendered = render_template_string(template)
+
+ assert '" in rendered
+ assert '