1e41f4b71Sopenharmony_ci# ArkUI Subsystem Changelog 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## cl.arkui.1 Changes of Default Focus Behavior 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciChanged the default focus used when **defaultFocus** is not set. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ciVersions earlier than API version 11: The default focus is given to the first focusable non-container component on the current page. 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ciAPI version 11 and later versions: The default focus is given to the root container of the current page. 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci**Change Impact** 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ciIf the **defaultFocus** attribute is not set, the first focusable non-container component on a page will not obtain focus immediately when the page opens for the first time. Instead, it is the root container of the page that obtains the focus. 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciExample: 16e41f4b71Sopenharmony_ci1. Here is a page whose first focusable non-container component is a text box, and no component on the page is bound to the **defaultFocus** attribute. 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci Versions earlier than API version 11: When the page opens, the text box obtains focus and starts the input method. 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci API version 11 and later versions: When the page opens, the text box does not obtain focus and therefore the input method is not started. The user needs to press the Tab key to focus the text box. 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci2. Assume that the **onKeyEvent** event is bound to the first focusable non-container component on the page to listen for the key events on the component. 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci Versions earlier than API version 11: When the page opens, the component is focused by default; the **onKeyEvent** callback can respond to key events on the component without any other operation required. 25e41f4b71Sopenharmony_ci 26e41f4b71Sopenharmony_ci API version 11 and later versions: When the page opens, the component is not focused; the **onKeyEvent** callback can respond to key events on the component only after the user presses the Tab key to enable the component to obtain focus. 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci**Adaptation Guide** 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ciTo achieve the before-change results, bind the **defaultFocus(true)** attribute to the target component to enable the target component to become the default focus on the page. In this way, when the page opens for the first time, the focus is automatically given to the first component bound to the **defaultFocus(true)** attribute. 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci## cl.arkui.2 Changes of the Soft Keyboard Interaction Behavior in Text Box Components 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ciWhen the text box is focused, the input method is started. The soft keyboard of the input method can be closed by touching either the inverted triangle button or the EnterKey button on the keyboard. 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ciVersions earlier than API version 11: When either of the aforementioned button is touched, the soft keyboard is closed, and the text box component remains focused. 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ciAPI version 11 and later versions: When either of the aforementioned button is touched, the soft keyboard is closed, and the text box component loses focus. 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ciThe following text box components are affected: **\<TextInput>**, **\<TextArea>**, **\<Search>**, and **\<RichEditor>**. 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci**Change Impact** 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ciLogical behavior that affects the focus: 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ciVersions earlier than API version 11: After a button is touched, the text box is still in the focused state. In this case, the **onKeyEvent** event on the text box can still be properly responded to. The application switches from the background to the foreground and starts the input method again. The user can press the Tab key to move the focus to the next component. 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ciAPI version 11 and later versions: After a button is clicked, the text box loses focus immediately. In this case, the **onKeyEvent** event on the input box cannot respond to. The input method is not started again when the application is in the foreground. Pressing the Tab key enables the text box to obtain focus again, rather than moves the focus to the next component. 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci**Adaptation Guide** 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ciNo adaptation is required. However, you need to check whether the changed behavior affects the overall application logic. 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci## cl.arkui.3 Change of the \<Checkbox> Component's Default Shape 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci**Access Level** 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ciPublic 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci**Reason for Change** 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ciThe change is made to enhance the visual and interaction experience. 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci**Change Impact** 68e41f4b71Sopenharmony_ci 69e41f4b71Sopenharmony_ciThis change is a compatible change. 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci**API Level** 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci11 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci**Change Since** 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.3.2 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci**Key API/Component Changes** 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci\<Checkbox> 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ciChanged the **\<Checkbox>** component's default shape used when the **shape** attribute is not set. 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci**Change Impact** 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ciDefault shape policy: 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ciAPI version 11 and later versions: The **\<Checkbox>** component's default shape is circle. 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci  92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ciVersions earlier than API version 11: The **\<Checkbox>** component's default shape is rounded square. 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci  96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci**Adaptation Guide** 98e41f4b71Sopenharmony_ci 99e41f4b71Sopenharmony_ciIf you would like the **\<Checkbox>** component in the rounded square shape, bind the **shape(CheckBoxShape.ROUNDED_SQUARE)** attribute to the component. 100e41f4b71Sopenharmony_ci 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci## cl.arkui.4 Resource Verification Level Change of the rawfile File 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci**Access Level** 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ciResources referenced in **$rawfile()** 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci**Change Impact** 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ciWhen **$rawfile()** references a resource that does not exist, an ERROR message, instead of a WARN message in previous versions, is reported. 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci**Change Since** 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ciOpenHarmony SDK 4.1.3.2 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci**Example** 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci``` 119e41f4b71Sopenharmony_ci@Entry 120e41f4b71Sopenharmony_ci@Component 121e41f4b71Sopenharmony_cistruct Index { 122e41f4b71Sopenharmony_ci build() { 123e41f4b71Sopenharmony_ci Button(){ 124e41f4b71Sopenharmony_ci // ERROR: No such 'app_icon.ong' resource in current module. 125e41f4b71Sopenharmony_ci Image($rawfile('app_icon.png')) 126e41f4b71Sopenharmony_ci } 127e41f4b71Sopenharmony_ci } 128e41f4b71Sopenharmony_ci} 129e41f4b71Sopenharmony_ci``` 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_ci**Key API/Component Changes** 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ciN/A 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci**Adaptation Guide** 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ciN/A 138