+
${linksHtmlWithClass}
`,
diff --git a/craft/src/components/basic/SearchBar.toHtml.test.ts b/craft/src/components/basic/SearchBar.toHtml.test.ts
new file mode 100644
index 0000000..acf29a1
--- /dev/null
+++ b/craft/src/components/basic/SearchBar.toHtml.test.ts
@@ -0,0 +1,13 @@
+import { describe, test, expect } from 'vitest';
+import { SearchBar } from './SearchBar';
+
+const toHtml = (SearchBar as any).toHtml;
+
+describe('SearchBar.toHtml decorative icons (F2.5)', () => {
+ test('the input-adjacent search icon is aria-hidden', () => {
+ const { html } = toHtml({}, '');
+ const icons = html.match(/
]*>/g) || [];
+ expect(icons.length).toBeGreaterThan(0);
+ icons.forEach((tag: string) => expect(tag).toContain('aria-hidden="true"'));
+ });
+});
diff --git a/craft/src/components/basic/SearchBar.tsx b/craft/src/components/basic/SearchBar.tsx
index 5000a20..78030a1 100644
--- a/craft/src/components/basic/SearchBar.tsx
+++ b/craft/src/components/basic/SearchBar.tsx
@@ -130,13 +130,13 @@ SearchBar.craft = {
const inputStyleStr = `width:100%;padding:12px 16px 12px 40px;font-size:15px;font-family:Inter,sans-serif;border:1px solid #d1d5db;border-radius:${showButton ? '8px 0 0 8px' : '8px'};background-color:#ffffff;color:#1f2937;outline:none;box-sizing:border-box`;
const btnHtml = showButton
- ? ``
+ ? ``
: '';
return {
html: `