[a11y] Ensure that heading() is applied to all screen titles.

This commit is contained in:
Benoit Marty 2025-07-04 10:32:51 +02:00
parent f3eb0e69cc
commit 70aa31df00
42 changed files with 180 additions and 259 deletions

View file

@ -39,6 +39,8 @@ import androidx.compose.ui.draw.shadow
import androidx.compose.ui.graphics.RectangleShape
import androidx.compose.ui.platform.LocalView
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.semantics.heading
import androidx.compose.ui.semantics.semantics
import androidx.compose.ui.text.font.FontStyle
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.text.style.TextOverflow
@ -184,7 +186,10 @@ fun MessagesView(
val expandableState = rememberExpandableBottomSheetLayoutState()
ExpandableBottomSheetLayout(
modifier = modifier.fillMaxSize().imePadding().systemBarsPadding(),
modifier = modifier
.fillMaxSize()
.imePadding()
.systemBarsPadding(),
content = {
Scaffold(
contentWindowInsets = WindowInsets.statusBars,
@ -556,7 +561,11 @@ private fun RoomAvatarAndNameRow(
),
)
Text(
modifier = Modifier.padding(horizontal = 8.dp),
modifier = Modifier
.padding(horizontal = 8.dp)
.semantics {
heading()
},
text = roomName ?: stringResource(CommonStrings.common_no_room_name),
style = ElementTheme.typography.fontBodyLgMedium,
fontStyle = FontStyle.Italic.takeIf { roomName == null },

View file

@ -23,7 +23,6 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.dp
import im.vector.app.features.analytics.plan.Interaction
import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.features.messages.impl.actionlist.ActionListEvents
import io.element.android.features.messages.impl.actionlist.ActionListView
@ -46,7 +45,6 @@ import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator
import io.element.android.libraries.designsystem.theme.components.Scaffold
import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.ui.strings.CommonStrings
@ -100,12 +98,7 @@ private fun PinnedMessagesListTopBar(
modifier: Modifier = Modifier,
) {
TopAppBar(
title = {
Text(
text = state.title(),
style = ElementTheme.typography.fontBodyLgMedium
)
},
titleStr = state.title(),
navigationIcon = { BackButton(onClick = onBackClick) },
modifier = modifier,
)

View file

@ -35,7 +35,6 @@ import io.element.android.libraries.designsystem.components.async.AsyncActionVie
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
import io.element.android.libraries.designsystem.theme.components.Button
import io.element.android.libraries.designsystem.theme.components.Scaffold
import io.element.android.libraries.designsystem.theme.components.Text
@ -63,12 +62,7 @@ fun ReportMessageView(
Scaffold(
topBar = {
TopAppBar(
title = {
Text(
stringResource(CommonStrings.action_report_content),
style = ElementTheme.typography.aliasScreenTitle,
)
},
titleStr = stringResource(CommonStrings.action_report_content),
navigationIcon = {
BackButton(onClick = onBackClick)
}

View file

@ -44,7 +44,6 @@ import io.element.android.compound.tokens.generated.CompoundIcons
import io.element.android.libraries.designsystem.components.button.BackButton
import io.element.android.libraries.designsystem.preview.ElementPreview
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
import io.element.android.libraries.designsystem.theme.aliasScreenTitle
import io.element.android.libraries.designsystem.theme.components.Icon
import io.element.android.libraries.designsystem.theme.components.Scaffold
import io.element.android.libraries.designsystem.theme.components.Text
@ -72,12 +71,7 @@ fun EventDebugInfoView(
Scaffold(
topBar = {
TopAppBar(
title = {
Text(
text = "Debug event info",
style = ElementTheme.typography.aliasScreenTitle,
)
},
titleStr = "Debug event info",
navigationIcon = { BackButton(onClick = onBackClick) }
)
},