diff --git a/res/layout-land/contacts_unavailable_fragment_content.xml b/res/layout-land/contacts_unavailable_fragment_content.xml
index 35aa90d..6c5c961 100644
--- a/res/layout-land/contacts_unavailable_fragment_content.xml
+++ b/res/layout-land/contacts_unavailable_fragment_content.xml
@@ -34,7 +34,8 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_horizontal"
-        android:layout_marginTop="@dimen/contacts_no_account_empty_text_padding_top" />
+        android:layout_marginTop="@dimen/contacts_no_account_empty_text_padding_top"
+        android:text="@string/noContacts" />
 
     <LinearLayout
         android:id="@+id/buttons_container"
diff --git a/res/layout/contacts_unavailable_fragment_content.xml b/res/layout/contacts_unavailable_fragment_content.xml
index dd04ebe..859112d 100644
--- a/res/layout/contacts_unavailable_fragment_content.xml
+++ b/res/layout/contacts_unavailable_fragment_content.xml
@@ -33,7 +33,8 @@
         style="@style/EmptyStateTextStyle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginTop="@dimen/contacts_no_account_empty_text_padding_top" />
+        android:layout_marginTop="@dimen/contacts_no_account_empty_text_padding_top"
+        android:text="@string/noContacts" />
 
     <Button
         android:id="@+id/add_account_button"
diff --git a/res/layout/editor_account_header.xml b/res/layout/editor_account_header.xml
index b9f4a14..01cc01f 100644
--- a/res/layout/editor_account_header.xml
+++ b/res/layout/editor_account_header.xml
@@ -72,6 +72,7 @@
         android:layout_height="wrap_content"
         android:layout_gravity="center_vertical|end"
         android:layout_alignParentEnd="true"
+        android:contentDescription="@string/show_more_content_description"
         android:paddingStart="@dimen/editor_round_button_padding_left"
         android:paddingEnd="@dimen/editor_round_button_padding_right"
         android:paddingTop="@dimen/editor_round_button_padding_top"
diff --git a/res/layout/fragment_sim_import.xml b/res/layout/fragment_sim_import.xml
index f848cef..d7a83f5 100644
--- a/res/layout/fragment_sim_import.xml
+++ b/res/layout/fragment_sim_import.xml
@@ -85,6 +85,12 @@
                 android:layout_height="wrap_content"
                 android:layout_gravity="center_vertical"
                 android:layout_marginEnd="10dp"
+                android:background="@null"
+                android:clickable="true"
+                android:contentDescription="@string/show_more_content_description"
+                android:focusable="true"
+                android:minHeight="0dp"
+                android:minWidth="0dp"
                 android:scaleType="center"
                 android:src="@drawable/ic_arrow_drop_down_black_24dp"
                 android:tint="?android:textColorSecondary"
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f6d207d..81871e4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1912,4 +1912,9 @@
     <!-- Generic label for the SIM card when there is only a single SIM in the device [CHAR LIMIT=10]-->
     <string name="single_sim_display_label">SIM</string>
 
+    <!-- Content description for dropdown arrow (https://material.io/icons/#ic_arrow_drop_down)
+         This is used to indicate that a list of options can be opened by tapping on it.
+         [CHAR LIMIT=NONE] -->
+    <string name="show_more_content_description">Show more</string>
+
 </resources>
diff --git a/src/com/android/contacts/editor/AccountHeaderPresenter.java b/src/com/android/contacts/editor/AccountHeaderPresenter.java
index d4f613b..440df94 100644
--- a/src/com/android/contacts/editor/AccountHeaderPresenter.java
+++ b/src/com/android/contacts/editor/AccountHeaderPresenter.java
@@ -203,6 +203,9 @@
         addAccountHeader(nameLabel);
         // Add handlers for choosing another account to save to.
         mAccountHeaderExpanderIcon.setVisibility(View.VISIBLE);
+        // Add the listener to the icon so that it will be announced by talkback as a clickable
+        // element
+        mAccountHeaderExpanderIcon.setOnClickListener(listener);
         mAccountHeaderContainer.setOnClickListener(listener);
     }
 
diff --git a/src/com/android/contacts/editor/RawContactEditorView.java b/src/com/android/contacts/editor/RawContactEditorView.java
index 8e177e4..3c142d6 100644
--- a/src/com/android/contacts/editor/RawContactEditorView.java
+++ b/src/com/android/contacts/editor/RawContactEditorView.java
@@ -753,7 +753,7 @@
     private void addAccountSelector(final RawContactDelta rawContactDelta) {
         // Add handlers for choosing another account to save to.
         mAccountHeaderExpanderIcon.setVisibility(View.VISIBLE);
-        mAccountHeaderContainer.setOnClickListener(new View.OnClickListener() {
+        final OnClickListener clickListener = new OnClickListener() {
             @Override
             public void onClick(View v) {
                 final ListPopupWindow popup = new ListPopupWindow(getContext(), null);
@@ -783,7 +783,11 @@
                 });
                 popup.show();
             }
-        });
+        };
+        mAccountHeaderContainer.setOnClickListener(clickListener);
+        // Make the expander icon clickable so that it will be announced as a button by
+        // talkback
+        mAccountHeaderExpanderIcon.setOnClickListener(clickListener);
     }
 
     private void addPhotoView() {
diff --git a/src/com/android/contacts/list/ContactsUnavailableFragment.java b/src/com/android/contacts/list/ContactsUnavailableFragment.java
index ef57d38..dd9cbab 100644
--- a/src/com/android/contacts/list/ContactsUnavailableFragment.java
+++ b/src/com/android/contacts/list/ContactsUnavailableFragment.java
@@ -113,7 +113,6 @@
      * Update views in the fragment when provider status is empty.
      */
     private void updateViewsForEmptyStatus() {
-        mMessageView.setText(R.string.noContacts);
         mMessageView.setVisibility(View.VISIBLE);
         updateButtonVisibility(View.VISIBLE);
         mProgress.setVisibility(View.GONE);
