From af82513010f5e695ae0bde639daf910966a50f52 Mon Sep 17 00:00:00 2001
From: Jonathan Amponsah <82057176+mgalore@users.noreply.github.com>
Date: Fri, 11 Sep 2026 09:13:09 +0000
Subject: [PATCH] test: cover accessible component markup
---
tests/test_extension.py | 43 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)
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 '