diff --git a/frontend/messages/de.json b/frontend/messages/de.json index ab3a5363..f8cf9f8c 100644 --- a/frontend/messages/de.json +++ b/frontend/messages/de.json @@ -965,6 +965,8 @@ "relation_year_to": "bis {year}", "relation_year_error_bis_before_von": "Bis-Jahr darf nicht vor Von-Jahr liegen.", "relation_label_family_member": "Als Familienmitglied", + "relation_toggle_add_to_tree": "Zum Stammbaum hinzufügen", + "relation_toggle_remove_from_tree": "Aus Stammbaum entfernen", "relation_label_in_tree": "Erscheint im Stammbaum", "relation_label_view_in_tree": "Ansehen →", "relation_label_direct": "Direkte Beziehungen", diff --git a/frontend/messages/en.json b/frontend/messages/en.json index 0841d176..afa6adfa 100644 --- a/frontend/messages/en.json +++ b/frontend/messages/en.json @@ -965,6 +965,8 @@ "relation_year_to": "until {year}", "relation_year_error_bis_before_von": "End year must not precede start year.", "relation_label_family_member": "Family member", + "relation_toggle_add_to_tree": "Add to family tree", + "relation_toggle_remove_from_tree": "Remove from family tree", "relation_label_in_tree": "Appears in the family tree", "relation_label_view_in_tree": "View →", "relation_label_direct": "Direct relationships", diff --git a/frontend/messages/es.json b/frontend/messages/es.json index bdd31a44..87d26d83 100644 --- a/frontend/messages/es.json +++ b/frontend/messages/es.json @@ -965,6 +965,8 @@ "relation_year_to": "hasta {year}", "relation_year_error_bis_before_von": "El año final no puede ser anterior al año inicial.", "relation_label_family_member": "Miembro de la familia", + "relation_toggle_add_to_tree": "Añadir al árbol genealógico", + "relation_toggle_remove_from_tree": "Quitar del árbol genealógico", "relation_label_in_tree": "Aparece en el árbol genealógico", "relation_label_view_in_tree": "Ver →", "relation_label_direct": "Relaciones directas", diff --git a/frontend/src/lib/components/StammbaumCard.svelte b/frontend/src/lib/components/StammbaumCard.svelte index 406ad653..49742ceb 100644 --- a/frontend/src/lib/components/StammbaumCard.svelte +++ b/frontend/src/lib/components/StammbaumCard.svelte @@ -76,6 +76,9 @@ function yearRange(rel: RelationshipDTO): string { type="submit" role="switch" aria-checked={familyMember} + aria-label={familyMember + ? m.relation_toggle_remove_from_tree() + : m.relation_toggle_add_to_tree()} class="inline-flex items-center gap-2 font-sans text-xs font-medium text-ink-2 transition-colors hover:text-ink" > { render(StammbaumCard, { ...baseProps, relationshipError: 'Test Fehler' }); await expect.element(page.getByText('Test Fehler')).toBeInTheDocument(); }); + + it('toggle aria-label says "Zum Stammbaum hinzufügen" when not yet a family member', async () => { + render(StammbaumCard, { ...baseProps, canWrite: true, familyMember: false }); + await expect + .element(page.getByRole('switch', { name: 'Zum Stammbaum hinzufügen' })) + .toBeInTheDocument(); + }); + + it('toggle aria-label says "Aus Stammbaum entfernen" when already a family member', async () => { + render(StammbaumCard, { ...baseProps, canWrite: true, familyMember: true }); + await expect + .element(page.getByRole('switch', { name: 'Aus Stammbaum entfernen' })) + .toBeInTheDocument(); + }); });