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:
erikgh committed 2026-07-22 10:06:46 -06:00
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);
});
});