fix: a11y (gold-deep token AA, Disciplinas ul/li, Cierre nav) + scaffold cleanup
- Add gold-deep #7A5F15 token (~5.97:1 on white, WCAG AA) for small-text eyebrows - Apply text-gold-deep to 4 eyebrows (Hero, Disciplinas, ComoEmpezar, Estratega) - Disciplinas: div grid → semantic ul/li for screen-reader consistency - Cierre: wrap contact links in <nav aria-label="Contacto"> - Estratega: portrait gradient → Tailwind tokens (from-ink to-gold), drop inline hex - Delete unused Geist fonts (app/fonts/, ~134KB) - Replace default README with creeer README - Tests: +2 structural (Disciplinas ul/li, Cierre nav aria-label)
This commit is contained in:
1 parent
3f0a15eac9
commit
b3bd698e9b
11 files changed
+59
-46
No files matched your search
@@ -16,4 +16,8 @@ describe('<Cierre />', () => {
|
||||
expect(mail.getAttribute('href')).toMatch(/^mailto:/);
|
||||
expect(li.getAttribute('href')).toMatch(/^https:\/\/(www\.)?linkedin\./);
|
||||
});
|
||||
it('wraps contact links in a nav with aria-label="Contacto"', () => {
|
||||
render(<Cierre />);
|
||||
expect(screen.getByRole('navigation', { name: /contacto/i })).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
@@ -9,4 +9,11 @@ describe('<Disciplinas />', () => {
|
||||
expect(screen.getByText('Digital')).toBeInTheDocument();
|
||||
expect(screen.getByText('Experiencias')).toBeInTheDocument();
|
||||
});
|
||||
it('renders disciplines in a semantic list (ul/li) for a11y', () => {
|
||||
const { container } = render(<Disciplinas />);
|
||||
const list = container.querySelector('ul');
|
||||
expect(list).not.toBeNull();
|
||||
const items = list?.querySelectorAll('li');
|
||||
expect(items?.length).toBe(3);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user