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

View file

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

View file

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

View file

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