@@ -35,6 +35,7 @@ interface Props {
3535 messages : MessageData [ ] ;
3636 onScroll ?: ( ) => void ;
3737 ariaLabel ?: string ;
38+ dividerAriaLevel ?: number ;
3839}
3940
4041const SCROLL_BUFFER = 200 ;
@@ -54,7 +55,7 @@ function isOwnMessage(message: MessageData) {
5455
5556export const MessagingThreadHistory = React . forwardRef (
5657 (
57- { className, threadID, messages, onScroll, ariaLabel } : Props ,
58+ { className, threadID, messages, onScroll, ariaLabel, dividerAriaLevel } : Props ,
5859 containerRef : React . MutableRefObject < HTMLDivElement > ,
5960 ) => {
6061 // ----------- Scroll position references
@@ -97,7 +98,11 @@ export const MessagingThreadHistory = React.forwardRef(
9798
9899 // ----------- Render
99100
100- const messagesWithDividers = _interleaveMessagesWithDividers ( messages , lastMessageRef ) ;
101+ const messagesWithDividers = _interleaveMessagesWithDividers (
102+ messages ,
103+ lastMessageRef ,
104+ dividerAriaLevel ,
105+ ) ;
101106
102107 return (
103108 < div
@@ -123,6 +128,7 @@ export const MessagingThreadHistory = React.forwardRef(
123128function _interleaveMessagesWithDividers (
124129 messages : MessageData [ ] ,
125130 lastMessageRef : React . MutableRefObject < HTMLDivElement > ,
131+ dividerAriaLevel : number ,
126132) {
127133 // Interleave dividers (e.g. dates, user names) with messages.
128134 const messagesWithDividers : React . ReactNode [ ] = [ ] ;
@@ -135,7 +141,11 @@ function _interleaveMessagesWithDividers(
135141 const messageDay = _formatDateForDivider ( message . timestamp ) ;
136142 if ( currentDay !== messageDay ) {
137143 messagesWithDividers . push (
138- < div key = { `divider-${ messageDay } ` } className = { cssClasses . DIVIDER_DATE } >
144+ < div
145+ key = { `divider-${ messageDay } ` }
146+ aria-level = { dividerAriaLevel }
147+ className = { cssClasses . DIVIDER_DATE }
148+ >
139149 { messageDay }
140150 </ div > ,
141151 ) ;
0 commit comments