Hello,
I'm struggling with an error where selecting multiple rows in a ListGrid using Shift+click causes an exception when screen reader mode is enabled. As a result, multiselection does not work in screen reader mode.
Problem reproduced also on latest version: v14.1p_2025-12-07/LGPL Development Only
Steps to reproduce:
- Use the SmartClient SDK embedded server.
- Enable screen reader mode by uncommenting: isc.setScreenReaderMode(true); in the /showcase/index.html file
- Open the show case and navigate to any ListGrid
- Try to select a rows range in the grid by Shift+Click
The exception logged in the browser developer tools console:
Uncaught RangeError: Maximum call stack size exceeded
at Object.isc_c_Class__getOriginalMethod [as $ct] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:556:51)
at _3.isc_c_Class_invokeSuper [as invokeSuper] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:561:106)
at _3.isc_GridRenderer_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:696:412)
at _3.isc_c_Class_invokeSuper [as invokeSuper] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:567:15)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:827:23)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
...
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_selectOnMouseDown [as selectOnMouseDown] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:868:27)
at _3.isc_GridRenderer__cellMouseDown [as $29w] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:653:239)
at _3.isc_GridRenderer_mouseDown [as mouseDown] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:652:134)
at _3.isc_Canvas_handleMouseDown [as handleMouseDown] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:16839:111)
at _3.isc_c_EventHandler_bubbleEvent [as bubbleEvent] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:10469:12)
at _3.isc_c_EventHandler_doHandleMouseDown [as doHandleMouseDown] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:8635:12)
at _3.isc_c_EventHandler_handleMouseDown [as handleMouseDown] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:8557:11)
at _3.isc_c_EventHandler_dispatch [as dispatch] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:11240:7)
at HTMLDocument.eval (eval at isc__makeFunction (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:107:1135), <anonymous>:3:123)
at Object.isc_c_Class__getOriginalMethod [as $ct] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:556:51)
at _3.isc_c_Class_invokeSuper [as invokeSuper] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:561:106)
at _3.isc_GridRenderer_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:696:412)
at _3.isc_c_Class_invokeSuper [as invokeSuper] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:567:15)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:827:23)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
...
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at Array.isc_Arra_callMethod [as callMethod] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:1380:173)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:179)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_redraw [as redraw] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:833:27)
at _3.isc_GridRenderer_setRowStyle [as setRowStyle] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:547:51)
at _3.isc_GridBody_updateRollOver [as updateRollOver] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:861:6)
at _3.isc_ListGrid_clearLastHilite [as clearLastHilite] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2117:52)
at _3.isc_ListGrid__hiliteRecord [as $88] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:2115:6)
at _3.isc_GridBody__putNativeFocusInRow [as $86a] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:883:192)
at _3.isc_GridBody_selectOnMouseDown [as selectOnMouseDown] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:868:27)
at _3.isc_GridRenderer__cellMouseDown [as $29w] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:653:239)
at _3.isc_GridRenderer_mouseDown [as mouseDown] (ISC_Grids.js?isc_version=v14.1p_2025-12-07.js:652:134)
at _3.isc_Canvas_handleMouseDown [as handleMouseDown] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:16839:111)
at _3.isc_c_EventHandler_bubbleEvent [as bubbleEvent] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:10469:12)
at _3.isc_c_EventHandler_doHandleMouseDown [as doHandleMouseDown] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:8635:12)
at _3.isc_c_EventHandler_handleMouseDown [as handleMouseDown] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:8557:11)
at _3.isc_c_EventHandler_dispatch [as dispatch] (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:11240:7)
at HTMLDocument.eval (eval at isc__makeFunction (ISC_Core.js?isc_version=v14.1p_2025-12-07.js:107:1135), <anonymous>:3:123)