From ecff4866b001018b2c2652fe42fe0c682bb407c4 Mon Sep 17 00:00:00 2001
From: Robert Lange <robert.lange@uni-leipzig.de>
Date: Sat, 9 Oct 2021 00:39:21 +0200
Subject: [PATCH] refs #19917 [fid] accessibility: add autocompletion for user
 init, create and update fields

* also add id for valid label mapping
---
 module/fid/config/address-collection.php | 11 ++++++++++-
 module/fid/config/user-create-form.php   |  3 +++
 module/fid/config/user-init-form.php     |  6 ++++++
 module/fid/config/user-update-form.php   |  4 +++-
 4 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/module/fid/config/address-collection.php b/module/fid/config/address-collection.php
index f94da88e927..197008c1e43 100644
--- a/module/fid/config/address-collection.php
+++ b/module/fid/config/address-collection.php
@@ -51,6 +51,9 @@ return [
                                 'options' => [
                                     'label' => 'label_address_0_line_1',
                                 ],
+                                'attributes' => [
+                                    'autocomplete' => "street-address"
+                                ],
                             ],
                         ],
                         'line2'   => [
@@ -59,7 +62,7 @@ return [
                                 'type'    => Text::class,
                                 'options' => [
                                     'label' => 'label_address_0_line_2',
-                                ]
+                                ],
                             ],
                         ],
                         'zip'     => [
@@ -69,6 +72,9 @@ return [
                                 'options' => [
                                     'label' => 'label_address_0_zip',
                                 ],
+                                'attributes' => [
+                                    'autocomplete' => "postal-code"
+                                ],
                             ],
                         ],
                         'city'    => [
@@ -78,6 +84,9 @@ return [
                                 'options' => [
                                     'label' => 'label_address_0_city',
                                 ],
+                                'attributes' => [
+                                    'autocomplete' => "address-level2"
+                                ],
                             ],
                         ],
                         'country' => [
diff --git a/module/fid/config/user-create-form.php b/module/fid/config/user-create-form.php
index 9a32a6917ae..1966695a5d3 100644
--- a/module/fid/config/user-create-form.php
+++ b/module/fid/config/user-create-form.php
@@ -115,6 +115,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => "given-name"
                 ],
             ],
         ],
@@ -127,6 +128,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => "family-name"
                 ],
             ],
         ],
@@ -156,6 +158,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => 'organization-title'
                 ],
             ],
         ],
diff --git a/module/fid/config/user-init-form.php b/module/fid/config/user-init-form.php
index 5ab7b2f2bb0..61202452f58 100644
--- a/module/fid/config/user-init-form.php
+++ b/module/fid/config/user-init-form.php
@@ -38,6 +38,7 @@ return [
     'elements'     => [
         'username'             => [
             'spec' => [
+                'id'       => 'username',
                 'name'       => 'username',
                 'type'       => Email::class,
                 'options'    => [
@@ -45,11 +46,13 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => 'email'
                 ],
             ],
         ],
         'username_confirmation' => [
             'spec' => [
+                'id'       => 'username_confirmation',
                 'name'       => 'username_confirmation',
                 'type'       => Email::class,
                 'options'    => [
@@ -57,6 +60,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => 'email'
                 ],
             ],
         ],
@@ -69,6 +73,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => "given-name"
                 ],
             ],
         ],
@@ -81,6 +86,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => "family-name"
                 ],
             ],
         ],
diff --git a/module/fid/config/user-update-form.php b/module/fid/config/user-update-form.php
index 067e4686eb6..c4d653b86b5 100644
--- a/module/fid/config/user-update-form.php
+++ b/module/fid/config/user-update-form.php
@@ -78,6 +78,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => "given-name"
                 ],
             ],
         ],
@@ -90,6 +91,7 @@ return [
                 ],
                 'attributes' => [
                     'required' => true,
+                    'autocomplete' => "family-name"
                 ],
             ],
         ],
@@ -111,7 +113,7 @@ return [
                 'type'    => Text::class,
                 'options' => [
                     'label' => 'label_college',
-                ]
+                ],
             ],
         ],
         'addresses'      => require 'address-collection.php',
-- 
GitLab