Skip to content

Commit 5454726

Browse files
committed
Adds accessibility to Markdown Headers. Users that have Talkback enabled on there android device will be able to Navigate by headings.
1 parent 1a6feda commit 5454726

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/Markdown.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ import androidx.compose.runtime.CompositionLocalProvider
55
import androidx.compose.runtime.compositionLocalOf
66
import androidx.compose.runtime.remember
77
import androidx.compose.runtime.rememberUpdatedState
8+
import androidx.compose.ui.Modifier
89
import androidx.compose.ui.platform.LocalUriHandler
10+
import androidx.compose.ui.semantics.heading
11+
import androidx.compose.ui.semantics.semantics
912
import com.halilibo.richtext.markdown.node.AstBlockQuote
1013
import com.halilibo.richtext.markdown.node.AstBulletList
1114
import com.halilibo.richtext.markdown.node.AstDocument
@@ -133,7 +136,7 @@ internal fun RichTextScope.RecursiveRenderMarkdownAst(astNode: AstNode?) {
133136
}
134137
is AstHeading -> {
135138
Heading(level = astNodeType.level) {
136-
MarkdownRichText(astNode)
139+
MarkdownRichText(astNode, Modifier.semantics { heading() } )
137140
}
138141
}
139142
is AstIndentedCodeBlock -> {

richtext-commonmark/src/commonMain/kotlin/com/halilibo/richtext/markdown/MarkdownRichText.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,14 @@ import com.halilibo.richtext.ui.string.withFormat
5656
* @param astNode Root node to accept as Text Content container.
5757
*/
5858
@Composable
59-
internal fun RichTextScope.MarkdownRichText(astNode: AstNode) {
59+
internal fun RichTextScope.MarkdownRichText(astNode: AstNode, modifier: Modifier = Modifier) {
6060
val onLinkClicked = LocalOnLinkClicked.current
6161
// Assume that only RichText nodes reside below this level.
6262
val richText = remember(astNode, onLinkClicked) {
6363
computeRichTextString(astNode, onLinkClicked)
6464
}
6565

66-
Text(text = richText)
66+
Text(text = richText, modifier = modifier)
6767
}
6868

6969
private fun computeRichTextString(

0 commit comments

Comments
 (0)