Improve accessibility in media activity (#443)

This commit is contained in:
0xd9a 2025-07-19 19:05:17 +05:30
parent b87dbfeb0e
commit 121c1528ae
4 changed files with 9 additions and 0 deletions

View file

@ -197,6 +197,7 @@ public class MediaActivity extends BaseBarActivity implements OnDownloadInterfac
if (translated != null) {
attachments.get(mediaPosition - 1).translation = translated;
binding.mediaDescriptionTranslated.setText(translated);
binding.mediaDescriptionTranslated.setContentDescription(getString(R.string.cd_translated_media_description, translated));
binding.mediaDescriptionTranslated.setVisibility(View.VISIBLE);
binding.mediaDescription.setVisibility(View.GONE);
if (mCurrentFragment != null) {
@ -214,6 +215,7 @@ public class MediaActivity extends BaseBarActivity implements OnDownloadInterfac
mCurrentFragment.toggleController(false);
}
binding.mediaDescriptionTranslated.setText(attachments.get(mediaPosition - 1).translation);
binding.mediaDescriptionTranslated.setContentDescription(getString(R.string.cd_translated_media_description, attachments.get(mediaPosition - 1).translation));
binding.mediaDescriptionTranslated.setVisibility(View.VISIBLE);
} else {
binding.mediaDescription.setVisibility(View.VISIBLE);
@ -250,6 +252,7 @@ public class MediaActivity extends BaseBarActivity implements OnDownloadInterfac
if (translated != null) {
attachments.get(position).translation = translated;
binding.mediaDescriptionTranslated.setText(translated);
binding.mediaDescriptionTranslated.setContentDescription(getString(R.string.cd_translated_media_description, translated));
binding.mediaDescriptionTranslated.setVisibility(View.VISIBLE);
binding.mediaDescription.setVisibility(View.GONE);
if (mCurrentFragment != null) {
@ -268,6 +271,7 @@ public class MediaActivity extends BaseBarActivity implements OnDownloadInterfac
mCurrentFragment.toggleController(false);
}
binding.mediaDescriptionTranslated.setText(attachments.get(position).translation);
binding.mediaDescriptionTranslated.setContentDescription(getString(R.string.cd_translated_media_description, attachments.get(position).translation));
binding.mediaDescriptionTranslated.setVisibility(View.VISIBLE);
} else {
binding.mediaDescription.setVisibility(View.VISIBLE);
@ -437,6 +441,7 @@ public class MediaActivity extends BaseBarActivity implements OnDownloadInterfac
if (attachments.get(binding.mediaViewpager.getCurrentItem()).translation != null) {
binding.mediaDescription.setVisibility(View.GONE);
binding.mediaDescriptionTranslated.setText(attachments.get(binding.mediaViewpager.getCurrentItem()).translation);
binding.mediaDescriptionTranslated.setContentDescription(getString(R.string.cd_translated_media_description, attachments.get(binding.mediaViewpager.getCurrentItem()).translation));
binding.mediaDescriptionTranslated.setVisibility(View.VISIBLE);
} else {
binding.mediaDescription.setVisibility(View.VISIBLE);

View file

@ -124,6 +124,7 @@ public class FragmentMedia extends Fragment {
enableSliding(true);
}
});
binding.mediaPicture.setContentDescription(attachment.description);
binding.mediaPicture.setOnClickListener(v -> {
if (isAdded()) {
((MediaActivity) requireActivity()).toogleFullScreen();

View file

@ -29,6 +29,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
android:importantForAccessibility="no"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -50,6 +51,7 @@
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingEnd="10dp"
android:importantForAccessibility="no"
android:layout_width="match_parent"
android:layout_height="0dp"
android:maxHeight="300dp"

View file

@ -77,6 +77,7 @@
<string name="cd_open_profile">Open profile page</string>
<string name="cd_switch_account">Switch to %s</string>
<string name="cd_translated_media_description">Translated media description: %s</string>
<!-- Status -->
<string name="no_status">No message to display</string>