Add content descriptions to tabs in top bar

This commit is contained in:
0xd9a 2025-08-15 00:01:29 +05:30
parent 1c28b200a9
commit 9584e32298
2 changed files with 12 additions and 0 deletions

View file

@ -393,9 +393,11 @@ public class PinnedTimelineHelper {
switch (pinnedTimeline.type) { switch (pinnedTimeline.type) {
case LIST: case LIST:
tabCustomViewBinding.icon.setImageResource(R.drawable.ic_tl_list); tabCustomViewBinding.icon.setImageResource(R.drawable.ic_tl_list);
tab.setContentDescription(activity.getString(R.string.cd_list_timeline, name));
break; break;
case TAG: case TAG:
tabCustomViewBinding.icon.setImageResource(R.drawable.ic_tl_tag); tabCustomViewBinding.icon.setImageResource(R.drawable.ic_tl_tag);
tab.setContentDescription("#" + name);
break; break;
case REMOTE: case REMOTE:
switch (pinnedTimeline.remoteInstance.type) { switch (pinnedTimeline.remoteInstance.type) {
@ -422,6 +424,7 @@ public class PinnedTimelineHelper {
tabCustomViewBinding.icon.setImageResource(R.drawable.peertube_icon); tabCustomViewBinding.icon.setImageResource(R.drawable.peertube_icon);
break; break;
} }
tab.setContentDescription(name);
break; break;
} }
tab.setCustomView(tabCustomViewBinding.getRoot()); tab.setCustomView(tabCustomViewBinding.getRoot());
@ -430,24 +433,31 @@ public class PinnedTimelineHelper {
switch (pinnedTimeline.type) { switch (pinnedTimeline.type) {
case HOME: case HOME:
tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_home_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_home_24);
tab.setContentDescription(R.string.tab_home_timeline);
break; break;
case LOCAL: case LOCAL:
tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_supervisor_account_24);
tab.setContentDescription(R.string.tab_local_timeline);
break; break;
case PUBLIC: case PUBLIC:
tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_public_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_public_24);
tab.setContentDescription(R.string.tab_public_timeline);
break; break;
case NOTIFICATION: case NOTIFICATION:
tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_notifications_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_notifications_24);
tab.setContentDescription(R.string.notifications);
break; break;
case DIRECT: case DIRECT:
tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_mail_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_mail_24);
tab.setContentDescription(R.string.tab_private_mentions);
break; break;
case BUBBLE: case BUBBLE:
tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_bubble_chart_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.ic_baseline_bubble_chart_24);
tab.setContentDescription(R.string.tab_bubble_timeline);
break; break;
case TREND_MESSAGE: case TREND_MESSAGE:
tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.baseline_moving_24); tabCustomDefaultViewBinding.icon.setImageResource(R.drawable.baseline_moving_24);
tab.setContentDescription(R.string.trending);
break; break;
} }
tab.setCustomView(tabCustomDefaultViewBinding.getRoot()); tab.setCustomView(tabCustomDefaultViewBinding.getRoot());

View file

@ -82,7 +82,9 @@
<string name="tab_local_timeline">@string/local_menu</string> <string name="tab_local_timeline">@string/local_menu</string>
<string name="tab_public_timeline">Public timeline</string> <string name="tab_public_timeline">Public timeline</string>
<string name="tab_private_mentions">Private mentions</string> <string name="tab_private_mentions">Private mentions</string>
<string name="tab_bubble_timeline">Bubble timeline</string>
<string name="cd_translated_content">Translated content: %s</string> <string name="cd_translated_content">Translated content: %s</string>
<string name="cd_list_timeline">%s. List timeline</string>
<!-- Status --> <!-- Status -->
<string name="no_status">No message to display</string> <string name="no_status">No message to display</string>