Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 646d42fe authored by Charles He's avatar Charles He
Browse files

VPN settings: better a11y voice for legacy dialog

Previously, the user input fields in the legacy VPN config dialog would
simply be read out as "edit box", "drop-down list", etc., without
reference to their corresponding labels. This is not optimal for
low-vision users.

In this CL, we add a "labelFor" attribute to the prompt TextView of each
field. The resulting input fields would instead be read out as "edit box
for username", "drop-down list for type", etc., which are much less
ambiguous than before.

Bug: 37202471
Test: make SettingsGoogle and navigate the dialog with TalkBack on
Change-Id: Id23d0563984e3de4a4a3d03a587ca130b50508fc
parent 6d7f210c
Loading
Loading
Loading
Loading
+43 −14
Original line number Diff line number Diff line
@@ -28,16 +28,22 @@
                android:orientation="vertical"
                android:visibility="gone">

            <TextView style="@style/vpn_label" android:text="@string/vpn_name"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_name"
                    android:labelFor="@+id/name"/>
            <EditText style="@style/vpn_value" android:id="@+id/name"
                    android:inputType="textCapWords"/>

            <TextView style="@style/vpn_label" android:text="@string/vpn_type"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_type"
                    android:labelFor="@+id/type"/>
            <Spinner style="@style/vpn_value" android:id="@+id/type"
                    android:prompt="@string/vpn_type"
                    android:entries="@array/vpn_types"/>

            <TextView style="@style/vpn_label" android:text="@string/vpn_server"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_server"
                    android:labelFor="@+id/server"/>
            <EditText style="@style/vpn_value" android:id="@+id/server"/>

            <CheckBox style="@style/vpn_value" android:id="@+id/mppe"
@@ -50,7 +56,9 @@
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="gone">
                <TextView style="@style/vpn_label" android:text="@string/vpn_l2tp_secret"/>
                <TextView style="@style/vpn_label"
                        android:text="@string/vpn_l2tp_secret"
                        android:labelFor="@+id/l2tp_secret"/>
                <EditText style="@style/vpn_value" android:id="@+id/l2tp_secret"
                        android:password="true"
                        android:hint="@string/vpn_not_used"/>
@@ -61,11 +69,15 @@
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="gone">
                <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_identifier"/>
                <TextView style="@style/vpn_label"
                        android:text="@string/vpn_ipsec_identifier"
                        android:labelFor="@+id/ipsec_identifier"/>
                <EditText style="@style/vpn_value" android:id="@+id/ipsec_identifier"
                        android:hint="@string/vpn_not_used"/>

                <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_secret"/>
                <TextView style="@style/vpn_label"
                        android:text="@string/vpn_ipsec_secret"
                        android:labelFor="@+id/ipsec_secret"/>
                <EditText style="@style/vpn_value" android:id="@+id/ipsec_secret"
                        android:password="true"/>
            </LinearLayout>
@@ -75,7 +87,9 @@
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="gone">
                <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_user_cert"/>
                <TextView style="@style/vpn_label"
                        android:text="@string/vpn_ipsec_user_cert"
                        android:labelFor="@+id/ipsec_user_cert"/>
                <Spinner style="@style/vpn_value" android:id="@+id/ipsec_user_cert"
                        android:prompt="@string/vpn_ipsec_user_cert" />
            </LinearLayout>
@@ -85,10 +99,15 @@
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="gone">
                <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_ca_cert"/>
                <TextView style="@style/vpn_label"
                        android:text="@string/vpn_ipsec_ca_cert"
                        android:labelFor="@+id/ipsec_ca_cert"/>
                <Spinner style="@style/vpn_value" android:id="@+id/ipsec_ca_cert"
                        android:prompt="@string/vpn_ipsec_ca_cert" />
                <TextView style="@style/vpn_label" android:text="@string/vpn_ipsec_server_cert"/>

                <TextView style="@style/vpn_label"
                        android:text="@string/vpn_ipsec_server_cert"
                        android:labelFor="@+id/ipsec_server_cert"/>
                <Spinner style="@style/vpn_value" android:id="@+id/ipsec_server_cert"
                        android:prompt="@string/vpn_ipsec_server_cert" />
            </LinearLayout>
@@ -103,15 +122,21 @@
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:visibility="gone">
            <TextView style="@style/vpn_label" android:text="@string/vpn_search_domains"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_search_domains"
                    android:labelFor="@+id/search_domains"/>
            <EditText style="@style/vpn_value" android:id="@+id/search_domains"
                    android:hint="@string/vpn_not_used"/>

            <TextView style="@style/vpn_label" android:text="@string/vpn_dns_servers"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_dns_servers"
                    android:labelFor="@+id/dns_servers"/>
            <EditText style="@style/vpn_value" android:id="@+id/dns_servers"
                    android:hint="@string/vpn_not_used"/>

            <TextView style="@style/vpn_label" android:text="@string/vpn_routes"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_routes"
                    android:labelFor="@+id/routes"/>
            <EditText style="@style/vpn_value" android:id="@+id/routes"
                    android:hint="@string/vpn_not_used"/>
        </LinearLayout>
@@ -122,10 +147,14 @@
                android:orientation="vertical"
                android:animateLayoutChanges="true">

            <TextView style="@style/vpn_label" android:text="@string/vpn_username"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_username"
                    android:labelFor="@+id/username"/>
            <EditText style="@style/vpn_value" android:id="@+id/username"/>

            <TextView style="@style/vpn_label" android:text="@string/vpn_password"/>
            <TextView style="@style/vpn_label"
                    android:text="@string/vpn_password"
                    android:labelFor="@+id/password"/>
            <EditText style="@style/vpn_value" android:id="@+id/password"
                    android:password="true"/>