fix: type-safe Tag guard in test and aria-label on sidebar-collapse-btn

This commit is contained in:
Brian Krabach
2026-03-27 16:40:51 -07:00
parent a3f1e2efd8
commit 1023c14480
2 changed files with 14 additions and 6 deletions
+13 -5
View File
@@ -2,7 +2,7 @@
import pathlib import pathlib
from bs4 import BeautifulSoup from bs4 import BeautifulSoup, Tag
HTML_PATH = pathlib.Path(__file__).parent.parent.parent / "frontend" / "index.html" HTML_PATH = pathlib.Path(__file__).parent.parent.parent / "frontend" / "index.html"
@@ -148,11 +148,17 @@ def test_html_sidebar_toggle_button() -> None:
"#sidebar-toggle-btn must be inside header.expanded-header" "#sidebar-toggle-btn must be inside header.expanded-header"
) )
# Must be after #back-btn and before #expanded-session-name # Must be after #back-btn and before #expanded-session-name
header_children_ids = [el.get("id") for el in header.children if hasattr(el, "get")] header_children_ids = [
el.get("id") for el in header.children if isinstance(el, Tag)
]
header_children_ids = [i for i in header_children_ids if i] header_children_ids = [i for i in header_children_ids if i]
assert "back-btn" in header_children_ids, "#back-btn must be in expanded-header" assert "back-btn" in header_children_ids, "#back-btn must be in expanded-header"
assert "sidebar-toggle-btn" in header_children_ids, "#sidebar-toggle-btn must be in expanded-header" assert "sidebar-toggle-btn" in header_children_ids, (
assert "expanded-session-name" in header_children_ids, "#expanded-session-name must be in expanded-header" "#sidebar-toggle-btn must be in expanded-header"
)
assert "expanded-session-name" in header_children_ids, (
"#expanded-session-name must be in expanded-header"
)
back_idx = header_children_ids.index("back-btn") back_idx = header_children_ids.index("back-btn")
toggle_idx = header_children_ids.index("sidebar-toggle-btn") toggle_idx = header_children_ids.index("sidebar-toggle-btn")
name_idx = header_children_ids.index("expanded-session-name") name_idx = header_children_ids.index("expanded-session-name")
@@ -211,7 +217,9 @@ def test_html_session_sidebar_structure() -> None:
) )
# #sidebar-collapse-btn # #sidebar-collapse-btn
collapse_btn = sidebar_header.find(id="sidebar-collapse-btn") collapse_btn = sidebar_header.find(id="sidebar-collapse-btn")
assert collapse_btn is not None, "Missing #sidebar-collapse-btn inside .sidebar-header" assert collapse_btn is not None, (
"Missing #sidebar-collapse-btn inside .sidebar-header"
)
# #sidebar-list # #sidebar-list
sidebar_list = sidebar.find(id="sidebar-list") sidebar_list = sidebar.find(id="sidebar-list")
assert sidebar_list is not None, "Missing #sidebar-list inside #session-sidebar" assert sidebar_list is not None, "Missing #sidebar-list inside #session-sidebar"
+1 -1
View File
@@ -38,7 +38,7 @@
<div id="session-sidebar"> <div id="session-sidebar">
<div class="sidebar-header"> <div class="sidebar-header">
<span class="sidebar-title">Sessions</span> <span class="sidebar-title">Sessions</span>
<button id="sidebar-collapse-btn">&#8249;</button> <button id="sidebar-collapse-btn" aria-label="Collapse session list">&#8249;</button>
</div> </div>
<div id="sidebar-list"></div> <div id="sidebar-list"></div>
</div> </div>