diff --git a/src/App.vue b/src/App.vue
index 88dc0326380b60ed429d46664d2fe2607c2f455a..dccd05c731c3d81a39eb2ef7828dab392f1e9ee3 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -16,6 +16,7 @@
             >
               <i
                 class="close icon"
+                aria-hidden="true"
                 @click="DISCARD_MESSAGE(message)"
               />
               <div class="header">
diff --git a/src/components/Feature/Detail/FeatureAttachements.vue b/src/components/Feature/Detail/FeatureAttachements.vue
index 56ac02da76f3ae603870c93b26a3d479be2984bc..f64f1fd904e4fd6b114653edc0b9702f23eb0158 100644
--- a/src/components/Feature/Detail/FeatureAttachements.vue
+++ b/src/components/Feature/Detail/FeatureAttachements.vue
@@ -20,6 +20,7 @@
                 ? require('@/assets/img/pdf.png')
                 : pj.attachment_file
             "
+            alt="Pièce jointe au signalement"
           >
         </a>
         <div class="middle aligned content">
diff --git a/src/components/Feature/Detail/FeatureTable.vue b/src/components/Feature/Detail/FeatureTable.vue
index 368ecb5452ad4f6151c918d72b36b78fb3e07af7..5cd73e0322f1bdd5c1988c6dec35265c0fcd0e94 100644
--- a/src/components/Feature/Detail/FeatureTable.vue
+++ b/src/components/Feature/Detail/FeatureTable.vue
@@ -86,8 +86,15 @@
           v-for="(link, index) in linked_features"
           :key="link.feature_to.title + index"
         >
-          <td v-if="link.feature_to.feature_type_slug">
+          <th
+            v-if="link.feature_to.feature_type_slug"
+            scope="row"
+          >
             {{ link.relation_type_display }}
+          </th>
+          <td
+            v-if="link.feature_to.feature_type_slug"
+          >
             <a @click="pushNgo(link)">{{ link.feature_to.title }} </a>
             ({{ link.feature_to.display_creator }} -
             {{ link.feature_to.created_on }})
diff --git a/src/views/Feature/FeatureEdit.vue b/src/views/Feature/FeatureEdit.vue
index 8d587541e7769f029280e007887b1a2f4c624b59..0386d31aae94939a2016c600fd6958d72f77a569 100644
--- a/src/views/Feature/FeatureEdit.vue
+++ b/src/views/Feature/FeatureEdit.vue
@@ -173,7 +173,11 @@
               class="ui compact button"
               @click="create_point_geoposition"
             >
-              <i class="ui map marker alternate icon" />Positionner le
+              <i
+                class="ui map marker alternate icon"
+                aria-hidden="true"
+              />
+              Positionner le
               signalement à partir de votre géolocalisation
             </button>
           </p>
@@ -282,7 +286,11 @@
           class="ui compact basic button"
           @click="add_linked_formset"
         >
-          <i class="ui plus icon" />Ajouter une liaison
+          <i
+            class="ui plus icon"
+            aria-hidden="true"
+          />
+          Ajouter une liaison
         </button>
       </div>
       <div class="ui divider" />
@@ -291,7 +299,11 @@
         class="ui teal icon button"
         @click="postForm"
       >
-        <i class="white save icon" /> Enregistrer les changements
+        <i
+          class="white save icon"
+          aria-hidden="true"
+        />
+        Enregistrer les changements
       </button>
     </form>
   </div>
diff --git a/src/views/FeatureType/FeatureTypeDetail.vue b/src/views/FeatureType/FeatureTypeDetail.vue
index dde405e65be329b071ca7621c3ffd8bc5c8438b7..19d9dd1d42db47c7e0d468d3fa60d99fb4d5ae01 100644
--- a/src/views/FeatureType/FeatureTypeDetail.vue
+++ b/src/views/FeatureType/FeatureTypeDetail.vue
@@ -151,7 +151,10 @@
                     class="ui icon button ellipsis"
                     for="json_file"
                   >
-                    <i class="file icon" />
+                    <i
+                      class="file icon"
+                      aria-hidden="true"
+                    />
                     <span class="label">{{ fileToImport.name }}</span>
                   </label>
                   <input
@@ -215,7 +218,10 @@
               :class="['title', { active: !showImport }]"
               @click="toggleShowImport"
             >
-              <i class="dropdown icon" />
+              <i
+                class="dropdown icon"
+                aria-hidden="true"
+              />
               Exporter les signalements
             </div>
             <div :class="['content', { active: !showImport }]">
@@ -231,7 +237,11 @@
                 class="ui fluid teal icon button"
                 @click="geojsonFileToImport.size !== 0 ? importGeoJson() : importCSV()"
               >
-                <i class="download icon" /> Exporter
+                <i
+                  class="download icon"
+                  aria-hidden="true"
+                />
+                Exporter
               </button>
             </div>
           </div>
@@ -241,7 +251,10 @@
             :class="['title', { active: !showImport && isOnline, nohover: !isOnline }]"
             @click="toggleShowImport"
           >
-            <i class="dropdown icon" />
+            <i
+              class="dropdown icon"
+              aria-hidden="true"
+            />
             Exporter les signalements
           </div>
           <div :class="['content', { active: !showImport && isOnline}]">
@@ -278,7 +291,11 @@
               class="ui fluid teal icon button"
               @click="exportFeatures"
             >
-              <i class="download icon" /> Exporter
+              <i
+                class="download icon"
+                aria-hidden="true"
+              />
+              Exporter
             </button>
           </div>
         </div>
@@ -392,7 +409,10 @@
           :to="{ name: 'liste-signalements', params: { slug } }"
           class="ui right labeled icon button margin-25"
         >
-          <i class="right arrow icon" />
+          <i
+            class="right arrow icon"
+            aria-hidden="true"
+          />
           Voir tous les signalements
         </router-link>
         <router-link
diff --git a/src/views/FeatureType/FeatureTypeSymbology.vue b/src/views/FeatureType/FeatureTypeSymbology.vue
index 35cfa0345eaf2b429afd3b173bfe82416cf0047a..39ac0a9915a6a98059e2b3c4518b20d1ea53b316 100644
--- a/src/views/FeatureType/FeatureTypeSymbology.vue
+++ b/src/views/FeatureType/FeatureTypeSymbology.vue
@@ -110,7 +110,10 @@
           :disabled="!canSaveSymbology"
           @click="sendFeatureSymbology"
         >
-          <i class="white save icon" />
+          <i
+            class="white save icon"
+            aria-hidden="true"
+          />
           Sauvegarder la symbologie du type de signalement
         </button>
       </form>
diff --git a/src/views/Login.vue b/src/views/Login.vue
index 41b036981c4a3a265bcb2ae92af58260f2dd7ef2..31e071953701a4849ddbab465dfea3c3fa07237a 100644
--- a/src/views/Login.vue
+++ b/src/views/Login.vue
@@ -5,6 +5,7 @@
         <img
           class="ui centered small image"
           :src="logo"
+          alt="Logo de l'application"
         >
         <h2 class="ui center aligned icon header">
           <div class="content">
@@ -41,7 +42,10 @@
           <div class="ui stacked secondary segment">
             <div class="six field required">
               <div class="ui left icon input">
-                <i class="user icon" />
+                <i
+                  class="user icon"
+                  aria-hidden="true"
+                />
                 <input
                   v-model="username_value"
                   type="text"
@@ -52,7 +56,10 @@
             </div>
             <div class="six field required">
               <div class="ui left icon input">
-                <i class="lock icon" />
+                <i
+                  class="lock icon"
+                  aria-hidden="true"
+                />
                 <input
                   v-model="password_value"
                   type="password"
diff --git a/src/views/Project/FeaturesListAndMap.vue b/src/views/Project/FeaturesListAndMap.vue
index e1d8e775459d4bd99bfcae2438e9d246bf59efe4..2ca7ddb1227ce7802b1380c3a75d75e2282f4110 100644
--- a/src/views/Project/FeaturesListAndMap.vue
+++ b/src/views/Project/FeaturesListAndMap.vue
@@ -21,14 +21,24 @@
             data-tooltip="Carte"
             data-position="bottom left"
             @click="showMap = true"
-          ><i class="map fitted icon" /></a>
+          >
+            <i
+              class="map fitted icon"
+              aria-hidden="true"
+            />
+          </a>
           <a
             :class="['item no-margin', { active: !showMap }]"
             data-tab="list"
             data-tooltip="Liste"
             data-position="bottom left"
             @click="showMap = false"
-          ><i class="list fitted icon" /></a>
+          >
+            <i
+              class="list fitted icon"
+              aria-hidden="true"
+            />
+          </a>
           <div class="item">
             <h4>
               {{ featuresCount }} signalement{{ featuresCount > 1 ? "s" : "" }}
@@ -50,7 +60,10 @@
               data-position="bottom right"
               @click="toggleAddFeature"
             >
-              <i class="plus fitted icon" />
+              <i
+                class="plus fitted icon"
+                aria-hidden="true"
+              />
               <div
                 v-if="showAddFeature"
                 class="menu left transition visible"
@@ -82,7 +95,10 @@
               data-position="bottom right"
               @click="toggleModifyStatus"
             >
-              <i class="pencil fitted icon" />
+              <i
+                class="pencil fitted icon"
+                aria-hidden="true"
+              />
               <div
                 v-if="showModifyStatus"
                 class="menu left transition visible"
@@ -111,7 +127,10 @@
               data-position="bottom right"
               @click="toggleDeleteModal"
             >
-              <i class="grey trash fitted icon" />
+              <i
+                class="grey trash fitted icon"
+                aria-hidden="true"
+              />
             </div>
           </div>
         </div>
@@ -146,7 +165,10 @@
       <div class="field wide four column">
         <label>Nom</label>
         <div class="ui icon input">
-          <i class="search icon" />
+          <i
+            class="search icon"
+            aria-hidden="true"
+          />
           <div class="ui action input">
             <input
               v-model="form.title"
@@ -159,7 +181,10 @@
               class="ui teal icon button"
               @click="resetPaginationNfetchFeatures"
             >
-              <i class="search icon" />
+              <i
+                class="search icon"
+                aria-hidden="true"
+              />
             </button>
           </div>
         </div>
@@ -220,10 +245,14 @@
       >
         <i
           class="close icon"
+          aria-hidden="true"
           @click="isDeleteModalOpen = false"
         />
         <div class="ui icon header">
-          <i class="trash alternate icon" />
+          <i
+            class="trash alternate icon"
+            aria-hidden="true"
+          />
           Êtes-vous sûr de vouloir effacer
           <span v-if="checkedFeatures.length === 1"> un signalement ? </span>
           <span v-else> ces {{ checkedFeatures.length }} signalements ? </span>
diff --git a/src/views/Project/ProjectBasemaps.vue b/src/views/Project/ProjectBasemaps.vue
index a2cc746e0c6d28c31645a6ffdd4272aa1c69105b..7483dfc2b22ccadacd176e59623a28f37f282223 100644
--- a/src/views/Project/ProjectBasemaps.vue
+++ b/src/views/Project/ProjectBasemaps.vue
@@ -15,7 +15,11 @@
           style="text-align: left"
         >
           <div class="header">
-            <i class="info circle icon" /> Informations
+            <i
+              class="info circle icon"
+              aria-hidden="true"
+            />
+            Informations
           </div>
           {{ message.comment }}
         </div>
@@ -39,7 +43,10 @@
           data-variation="mini"
           @click="addBasemap"
         >
-          <i class="ui plus icon" />
+          <i
+            class="ui plus icon"
+            aria-hidden="true"
+          />
           <span>&nbsp;Créer un fond cartographique</span>
         </a>
       </div>
@@ -60,7 +67,11 @@
           class="ui teal icon floated button"
           @click="saveChanges"
         >
-          <i class="white save icon" /> Enregistrer les changements
+          <i
+            class="white save icon"
+            aria-hidden="true"
+          />
+          Enregistrer les changements
         </button>
       </div>
     </form>
diff --git a/src/views/Project/ProjectDetail.vue b/src/views/Project/ProjectDetail.vue
index 1d69e610a1feb4312e3d362137e435838f9bc9cf..33c0a4d01b85b6a2ed6c5337a1653c1f4aa8bf47 100644
--- a/src/views/Project/ProjectDetail.vue
+++ b/src/views/Project/ProjectDetail.vue
@@ -13,7 +13,13 @@
           v-if="tempMessage"
           class="ui positive message"
         >
-          <p><i class="check icon" /> {{ tempMessage }}</p>
+          <p>
+            <i
+              class="check icon"
+              aria-hidden="true"
+            />
+            {{ tempMessage }}
+          </p>
         </div>
       </div>
       <div
@@ -26,7 +32,10 @@
           style="text-align: left"
         >
           <div class="header">
-            <i class="info circle icon" /> Informations
+            <i
+              class="info circle icon"
+              aria-hidden="true"
+            /> Informations
           </div>
           <ul class="list">
             {{
@@ -91,7 +100,10 @@
     </div>
 
     <span v-else-if="!projectInfoLoading">
-      <i class="icon exclamation triangle" />
+      <i
+        class="icon exclamation triangle"
+        aria-hidden="true"
+      />
       <span>Vous ne disposez pas des droits nécessaires pour consulter ce
         projet.</span>
     </span>
diff --git a/src/views/Project/ProjectEdit.vue b/src/views/Project/ProjectEdit.vue
index 5d7fcc13c2aa3c794c250000524d71140a757381..c02a6b0393b962c4b28b698f3faa62b59843eec8 100644
--- a/src/views/Project/ProjectEdit.vue
+++ b/src/views/Project/ProjectEdit.vue
@@ -59,12 +59,16 @@
                 ? thumbnailFileSrc
                 : DJANGO_BASE_URL + form.thumbnail
             "
+            alt="Thumbnail du projet"
           >
           <label
             class="ui icon button"
             for="thumbnail"
           >
-            <i class="file icon" />
+            <i
+              class="file icon"
+              aria-hidden="true"
+            />
             <span class="label">{{
               form.thumbnail_name ? form.thumbnail_name : fileToImport.name
             }}</span>
@@ -239,7 +243,10 @@
         class="ui teal icon button"
         @click="postForm"
       >
-        <i class="white save icon" /> Enregistrer les changements
+        <i
+          class="white save icon"
+          aria-hidden="true"
+        /> Enregistrer les changements
       </button>
     </form>
   </div>
diff --git a/src/views/Project/ProjectMembers.vue b/src/views/Project/ProjectMembers.vue
index c1e7d7bccca01c02c2f8978f88c532f7d9d49e21..2276c159ffd511dff59b1cf63b21b7ed4eb31ac5 100644
--- a/src/views/Project/ProjectMembers.vue
+++ b/src/views/Project/ProjectMembers.vue
@@ -49,7 +49,10 @@
         :disabled="!newMember.user.name"
         @click="addMember"
       >
-        <i class="white add icon" />
+        <i
+          class="white add icon"
+          aria-hidden="true"
+        />
         <span class="padding-1">Ajouter</span>
       </button>
     </div>
@@ -70,6 +73,7 @@
                   up: isSortedDesc('member'),
                 }"
                 class="icon sort"
+                aria-hidden="true"
                 @click="changeSort('member')"
               />
             </th>
@@ -81,6 +85,7 @@
                   up: isSortedDesc('role'),
                 }"
                 class="icon sort"
+                aria-hidden="true"
                 @click="changeSort('role')"
               />
             </th>
@@ -108,7 +113,10 @@
                   data-tooltip="Retirer ce membre"
                   @click="removeMember(member)"
                 >
-                  <i class="times icon" />
+                  <i
+                    class="times icon"
+                    aria-hidden="true"
+                  />
                 </button>
               </div>
             </td>
@@ -123,7 +131,10 @@
         class="ui teal icon button"
         @click="saveMembers"
       >
-        <i class="white save icon" />&nbsp;Enregistrer les changements
+        <i
+          class="white save icon"
+          aria-hidden="true"
+        />&nbsp;Enregistrer les changements
       </button>
     </div>
   </div>
diff --git a/src/views/Projects/ProjectsList.vue b/src/views/Projects/ProjectsList.vue
index e817ef18b74dd81cadf5f5f81a8f1578ae079e7c..a888a0eb86f882a79e16b3a08de6774170ab0794 100644
--- a/src/views/Projects/ProjectsList.vue
+++ b/src/views/Projects/ProjectsList.vue
@@ -13,7 +13,11 @@
         :to="{ name: 'project_create', params: { action: 'create' } }"
         class="ui green basic button"
       >
-        <i class="plus icon" /> Créer un nouveau projet
+        <i
+          class="plus icon"
+          aria-hidden="true"
+        />
+        Créer un nouveau projet
       </router-link>
       <router-link
         v-if="user && user.can_create_project && isOnline"
@@ -22,7 +26,11 @@
         }"
         class="ui blue basic button"
       >
-        <i class="copy icon" /> Accéder à la liste des modèles de projets
+        <i
+          class="copy icon"
+          aria-hidden="true"
+        />
+        Accéder à la liste des modèles de projets
       </router-link>
     </div>
 
diff --git a/src/views/Projects/ProjectsTypes.vue b/src/views/Projects/ProjectsTypes.vue
index 72457c2f8eda5aafa873e312f3335291d0771011..42c7a20e7d9de82ec5f30c35f0e5aa5f479f2d13 100644
--- a/src/views/Projects/ProjectsTypes.vue
+++ b/src/views/Projects/ProjectsTypes.vue
@@ -38,11 +38,16 @@
           </div>
           <div class="meta">
             <span data-tooltip="Délai avant archivage">
-              {{ project.archive_feature }}&nbsp;<i class="box icon" />
+              {{ project.archive_feature }}&nbsp;
+              <i
+                class="box icon"
+                aria-hidden="true"
+              />
             </span>
             <span data-tooltip="Délai avant suppression">
               {{ project.archive_feature }}&nbsp;<i
                 class="trash alternate icon"
+                aria-hidden="true"
               />
             </span>
             <span data-tooltip="Date de création">
@@ -53,11 +58,13 @@
             <span data-tooltip="Visibilité des signalement publiés">
               {{ project.access_level_pub_feature }}&nbsp;<i
                 class="eye icon"
+                aria-hidden="true"
               />
             </span>
             <span data-tooltip="Visibilité des signalement archivés">
               {{ project.access_level_arch_feature }}&nbsp;<i
                 class="archive icon"
+                aria-hidden="true"
               />
             </span>
           </div>