Skip to content

Commit

Permalink
[TASK] Use semantic HTML for tables in the emails
Browse files Browse the repository at this point in the history
This improves accessibility.

Releases: main, v7
  • Loading branch information
oliverklee authored and sbusemann committed May 16, 2024
1 parent f6f1be3 commit 301bd6f
Show file tree
Hide file tree
Showing 3 changed files with 154 additions and 146 deletions.
40 changes: 20 additions & 20 deletions Resources/Private/Partials/Mail/UserProperties.html
Original file line number Diff line number Diff line change
@@ -1,141 +1,141 @@
<table border="1" cellpadding="2" cellspacing="2">
<f:if condition="{user.username}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.username" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.username" /></th>
<td>
{user.username}
</td>
</tr>
</f:if>
<f:if condition="{user.email}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.email" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.email" /></th>
<td>
{user.email}
</td>
</tr>
</f:if>
<f:if condition="{user.www}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.www" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.www" /></th>
<td>
{user.www}
</td>
</tr>
</f:if>
<f:if condition="{user.title}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.title" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.title" /></th>
<td>
{user.title}
</td>
</tr>
</f:if>
<f:if condition="{user.firstName}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.firstName" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.firstName" /></th>
<td>
{user.firstName}
</td>
</tr>
</f:if>
<f:if condition="{user.middleName}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.middleName" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.middleName" /></th>
<td>
{user.middleName}
</td>
</tr>
</f:if>
<f:if condition="{user.lastName}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.lastName" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.lastName" /></th>
<td>
{user.lastName}
</td>
</tr>
</f:if>
<f:if condition="{user.name}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.name" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.name" /></th>
<td>
{user.name}
</td>
</tr>
</f:if>
<f:if condition="{user.company}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.company" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.company" /></th>
<td>
{user.company}
</td>
</tr>
</f:if>
<tr>
<td><f:translate key="tx_femanager_domain_model_user.gender" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.gender" /></th>
<td>
<f:translate key="tx_femanager_domain_model_user.gender.item{user.gender}" />
</td>
</tr>
<f:if condition="{user.dateOfBirth}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.dateOfBirth" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.dateOfBirth" /></th>
<td>
<f:format.date format="{f:translate(key:'tx_femanager_domain_model_user.dateFormat')}">{user.dateOfBirth}</f:format.date>
</td>
</tr>
</f:if>
<f:if condition="{user.telephone}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.telephone" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.telephone" /></th>
<td>
{user.telephone}
</td>
</tr>
</f:if>
<f:if condition="{user.fax}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.fax" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.fax" /></th>
<td>
{user.fax}
</td>
</tr>
</f:if>
<f:if condition="{user.address}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.address" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.address" /></th>
<td>
{user.address}
</td>
</tr>
</f:if>
<f:if condition="{user.zip}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.zip" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.zip" /></th>
<td>
{user.zip}
</td>
</tr>
</f:if>
<f:if condition="{user.city}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.city" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.city" /></th>
<td>
{user.city}
</td>
</tr>
</f:if>
<f:if condition="{user.country}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.country" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.country" /></th>
<td>
{user.country}
</td>
</tr>
</f:if>
<f:if condition="{user.state}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.state" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.state" /></th>
<td>
<!-- // TODO: Check me if i was displayed -->
{user.state}
Expand All @@ -144,7 +144,7 @@
</f:if>
<f:if condition="{user.image}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.image" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.image" /></th>
<td>
<f:if condition="{embedImages.0}">
<img src="{embedImages.0}" alt="Error in User Image">
Expand All @@ -154,7 +154,7 @@
</f:if>
<f:if condition="{user.usergroup}">
<tr>
<td><f:translate key="tx_femanager_domain_model_user.usergroup" /></td>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.usergroup" /></th>
<td>
<f:for each="{user.usergroup}" as="usergroup" iteration="i">{usergroup.title}<f:if condition="{i.isLast}"><f:else>, </f:else></f:if></f:for>
</td>
Expand Down
130 changes: 67 additions & 63 deletions Resources/Private/Templates/Email/UpdateNotify.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,70 +20,74 @@
</p>

<table border="1" cellpadding="2" cellspacing="2">
<tr>
<td><b><f:translate key="emailUpdateNotifyField" /></b></td>
<td><b><f:translate key="emailUpdateNotifyOld" /></b></td>
<td><b><f:translate key="emailUpdateNotifyNew" /></b></td>
</tr>
<f:for each="{changes}" as="change" key="property">
<thead>
<tr>
<td><f:translate key="tx_femanager_domain_model_user.{property}" /></td>
<td>
<f:if condition="{0:property} == {0:'password'}">
<f:else>
<f:if condition="{change.old}">
<f:then>
<f:if condition="{0:property} == {0:'gender'}">
<f:then>
<f:translate key="tx_femanager_domain_model_user.gender.item{change.old}" />
</f:then>
<f:else>
<f:if condition="{0:property} == {0:'dateOfBirth'}">
<f:then>
<f:format.date format="{f:translate(key:'tx_femanager_domain_model_user.dateFormat')}">{change.old}</f:format.date>
</f:then>
<f:else>
{change.old}
</f:else>
</f:if>
</f:else>
</f:if>
</f:then>
<f:else>
[<f:translate key="empty" />]
</f:else>
</f:if>
</f:else>
<f:then>
******
</f:then>
</f:if>
</td>
<td>
<f:if condition="{0:property} == {0:'password'}">
<f:else>
<f:if condition="{0:property} == {0:'gender'}">
<f:then>
<f:translate key="tx_femanager_domain_model_user.gender.item{change.new}" />
</f:then>
<f:else>
<f:if condition="{0:property} == {0:'dateOfBirth'}">
<f:then>
<f:format.date format="{f:translate(key:'tx_femanager_domain_model_user.dateFormat')}">{change.new}</f:format.date>
</f:then>
<f:else>
{change.new}
</f:else>
</f:if>
</f:else>
</f:if>
</f:else>
<f:then>
******
</f:then>
</f:if>
</td>
<th scope="col"><b><f:translate key="emailUpdateNotifyField" /></b></th>
<th scope="col"><b><f:translate key="emailUpdateNotifyOld" /></b></th>
<th scope="col"><b><f:translate key="emailUpdateNotifyNew" /></b></th>
</tr>
</f:for>
</thead>
<tbody>
<f:for each="{changes}" as="change" key="property">
<tr>
<th scope="row"><f:translate key="tx_femanager_domain_model_user.{property}" /></th>
<td>
<f:if condition="{0:property} == {0:'password'}">
<f:else>
<f:if condition="{change.old}">
<f:then>
<f:if condition="{0:property} == {0:'gender'}">
<f:then>
<f:translate key="tx_femanager_domain_model_user.gender.item{change.old}" />
</f:then>
<f:else>
<f:if condition="{0:property} == {0:'dateOfBirth'}">
<f:then>
<f:format.date format="{f:translate(key:'tx_femanager_domain_model_user.dateFormat')}">{change.old}</f:format.date>
</f:then>
<f:else>
{change.old}
</f:else>
</f:if>
</f:else>
</f:if>
</f:then>
<f:else>
[<f:translate key="empty" />]
</f:else>
</f:if>
</f:else>
<f:then>
******
</f:then>
</f:if>
</td>
<td>
<f:if condition="{0:property} == {0:'password'}">
<f:else>
<f:if condition="{0:property} == {0:'gender'}">
<f:then>
<f:translate key="tx_femanager_domain_model_user.gender.item{change.new}" />
</f:then>
<f:else>
<f:if condition="{0:property} == {0:'dateOfBirth'}">
<f:then>
<f:format.date format="{f:translate(key:'tx_femanager_domain_model_user.dateFormat')}">{change.new}</f:format.date>
</f:then>
<f:else>
{change.new}
</f:else>
</f:if>
</f:else>
</f:if>
</f:else>
<f:then>
******
</f:then>
</f:if>
</td>
</tr>
</f:for>
</tbody>
</table>
</f:section>
Loading

0 comments on commit 301bd6f

Please sign in to comment.