@@ -2089,3 +2089,52 @@ def test_focus_mode_on_focusable_read_only_lists():
20892089 ]),
20902090 message = "focus mode - focus list item and turn on focus mode"
20912091 )
2092+
2093+
2094+ def test_i10890 ():
2095+ """
2096+ Ensure that sort state is announced on a column header when changed with inner button
2097+ """
2098+ spy = _NvdaLib .getSpyLib ()
2099+ # Chrome sometimes exposes tables as clickable, sometimes not.
2100+ # This test does not need to know, so disable reporting of clickables.
2101+ spy .set_configValue (["documentFormatting" , "reportClickable" ], False )
2102+ testFile = os .path .join (ARIAExamplesDir , "grid" , "datagrids.html" )
2103+ _chrome .prepareChrome (
2104+ f"""
2105+ <iframe src="{ testFile } "></iframe>
2106+ """
2107+ )
2108+ # Jump to the Example 2 heading
2109+ _chrome .getSpeechAfterKey ("3" )
2110+ actualSpeech = _chrome .getSpeechAfterKey ("3" )
2111+ _asserts .strings_match (
2112+ actualSpeech ,
2113+ SPEECH_SEP .join ([
2114+ "Example 2: Sortable Data Grid With Editable Cells" ,
2115+ "heading" ,
2116+ "level 3" ,
2117+ ])
2118+ )
2119+ # Jump to the table
2120+ actualSpeech = _chrome .getSpeechAfterKey ("t" )
2121+ _asserts .strings_match (
2122+ actualSpeech ,
2123+ SPEECH_SEP .join ([
2124+ "Transactions January 1 through January 7" ,
2125+ "table" ,
2126+ "with 8 rows and 6 columns" ,
2127+ "row 1" ,
2128+ "column 1" ,
2129+ "sorted ascending" ,
2130+ "Date" ,
2131+ "button" ,
2132+ ])
2133+ )
2134+ # Press the button
2135+ actualSpeech = _chrome .getSpeechAfterKey ("space" )
2136+ # and ensure that the new sort state is spoken.
2137+ _asserts .strings_match (
2138+ actualSpeech ,
2139+ "sorted descending" ,
2140+ )
0 commit comments