// Copyright © SixtyFPS GmbH // SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0 Button1 := Rectangle { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} property cond; accessible-role: cond ? button : AccessibleRole.text; // ^error{The `accessible-role` property must be a constant expression} rr := Rectangle { init => { self.accessible-role = AccessibleRole.text; // ^error{The property must be known at compile time and cannot be changed at runtime} } } } Button2 := Rectangle { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} accessible-label: "the button"; // ^error{The `accessible-label` property can only be set in combination to `accessible-role`} } Button3 := Rectangle { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} Rectangle { accessible-role: text; accessible-label: "the button"; } } export Test := Window { // ^warning{':=' to declare a component is deprecated. The new syntax declare components with 'component MyComponent {'. Read the documentation for more info} Button1 { } Button1 { accessible-description: "ok"; } // ok because Button1 has a role Button2 { accessible-role: none; } Button2 { } Button3 {} Button3 { accessible-description: "error";} // ^error{The `accessible-description` property can only be set in combination to `accessible-role`} }