1# ArkUI Subsystem Changelog 2 3## cl.arkui.1 Changes of Default Focus Behavior 4 5Changed the default focus used when **defaultFocus** is not set. 6 7Versions earlier than API version 11: The default focus is given to the first focusable non-container component on the current page. 8 9API version 11 and later versions: The default focus is given to the root container of the current page. 10 11**Change Impact** 12 13If 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. 14 15Example: 161. 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. 17 18 Versions earlier than API version 11: When the page opens, the text box obtains focus and starts the input method. 19 20 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. 21 222. 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. 23 24 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. 25 26 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. 27 28 29 30**Adaptation Guide** 31 32To 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. 33 34 35## cl.arkui.2 Changes of the Soft Keyboard Interaction Behavior in Text Box Components 36 37When 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. 38 39Versions 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. 40 41API 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. 42 43The following text box components are affected: **\<TextInput>**, **\<TextArea>**, **\<Search>**, and **\<RichEditor>**. 44 45**Change Impact** 46 47Logical behavior that affects the focus: 48 49Versions 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. 50 51API 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. 52 53**Adaptation Guide** 54 55No adaptation is required. However, you need to check whether the changed behavior affects the overall application logic. 56 57## cl.arkui.3 Change of the \<Checkbox> Component's Default Shape 58 59**Access Level** 60 61Public 62 63**Reason for Change** 64 65The change is made to enhance the visual and interaction experience. 66 67**Change Impact** 68 69This change is a compatible change. 70 71**API Level** 72 7311 74 75**Change Since** 76 77OpenHarmony SDK 4.1.3.2 78 79**Key API/Component Changes** 80 81\<Checkbox> 82 83Changed the **\<Checkbox>** component's default shape used when the **shape** attribute is not set. 84 85**Change Impact** 86 87Default shape policy: 88 89API version 11 and later versions: The **\<Checkbox>** component's default shape is circle. 90 91  92 93Versions earlier than API version 11: The **\<Checkbox>** component's default shape is rounded square. 94 95  96 97**Adaptation Guide** 98 99If you would like the **\<Checkbox>** component in the rounded square shape, bind the **shape(CheckBoxShape.ROUNDED_SQUARE)** attribute to the component. 100 101 102## cl.arkui.4 Resource Verification Level Change of the rawfile File 103 104**Access Level** 105 106Resources referenced in **$rawfile()** 107 108**Change Impact** 109 110When **$rawfile()** references a resource that does not exist, an ERROR message, instead of a WARN message in previous versions, is reported. 111 112**Change Since** 113 114OpenHarmony SDK 4.1.3.2 115 116**Example** 117 118``` 119@Entry 120@Component 121struct Index { 122 build() { 123 Button(){ 124 // ERROR: No such 'app_icon.ong' resource in current module. 125 Image($rawfile('app_icon.png')) 126 } 127 } 128} 129``` 130 131**Key API/Component Changes** 132 133N/A 134 135**Adaptation Guide** 136 137N/A 138