diff --git a/general/app/development/plugins-development-guide/api-reference.md b/general/app/development/plugins-development-guide/api-reference.md index ecd633c108..71b6e2b2a8 100644 --- a/general/app/development/plugins-development-guide/api-reference.md +++ b/general/app/development/plugins-development-guide/api-reference.md @@ -247,6 +247,7 @@ Add new option in the user profile page. | `type` | `'listitem'` | Visual representation of the option, accepted values are `listitem` and `button`.

Before 4.4, the accepted values were `newpage` and `communication` (`newpage` was the default). | | `priority` | `0` | Priority of the handler, higher priority options are displayed first. | | `ptrenabled` | `true` | Whether to enable the PTR (pull-to-refresh) gesture in the page. | +| `displayinusermenu` | - | Whether to display the option in the user menu (the menu displayed when the user clicks his own avatar at the top-right or top-left). Accepted values are: If not set, the option will be displayed in the user menu depending on the restricted courses and users.

Only available in 5.1+. | ### CoreCourseFormatDelegate diff --git a/general/development/policies/accessibility.md b/general/development/policies/accessibility.md index 90d819448b..ca9a92f8e3 100644 --- a/general/development/policies/accessibility.md +++ b/general/development/policies/accessibility.md @@ -41,7 +41,7 @@ The table below provides a history of the accessibility audits performed on the #### Moodle App -The Moodle App was accredited to meet [WCAG 2.1 Level AA conformance](https://www.webkeyit.com/accessibility-services/accessibility-accreditations/moodle-mobile-app) on 9 May 2023. See [MOBILE-4182](https://moodle.atlassian.net/browse/MOBILE-4182) for more details. +The Moodle App has been accredited to meet WCAG 2.2 Level AA conformance on 7 April 2025. See [MOBILE-4595](https://moodle.atlassian.net/browse/MOBILE-4595) for more details. #### Moodle Workplace @@ -93,6 +93,10 @@ An overview of Moodle LMS' conformance with the [WCAG 2.1](https://www.w3.org/TR An overview of Moodle Workplace's conformance with the [WCAG 2.1](https://www.w3.org/TR/WCAG21/) guidelines can be found in our [accessibility conformance report](https://docs.moodle.org/en/Moodle_Workplace_VPAT#WCAG_2.x_report). +#### Moodle App + +An overview of Moodle App's conformance with the [WCAG 2.2](https://www.w3.org/TR/WCAG22/) guidelines can be found in the [Moodle App accessibility conformance report](https://docs.moodle.org/en/Moodle_app_VPAT#WCAG_2.x_report). + diff --git a/general/development/policies/codingstyle-moodleapp.md b/general/development/policies/codingstyle-moodleapp.md index f37d5cd0b5..5645578381 100644 --- a/general/development/policies/codingstyle-moodleapp.md +++ b/general/development/policies/codingstyle-moodleapp.md @@ -431,6 +431,66 @@ export class MyService { +If a constant needs to be used in a component template, it should be declared in the component without "static" because static properties cannot be used in templates. Please notice that the naming convention for non-static properties is camelCase. + + + +```ts +export class MyComponent { + + protected readonly myConstant = '...'; + +} +``` + + + + + +```ts + +export class MyComponent { + + protected readonly MY_CONSTANT = '...'; + +} +``` + + + +### Angular Signals + +All signals in class properties must be defined as readonly properties to avoid overriding the whole signal by mistake. This includes input signals, computed signals, etc. + + + +```ts +export class MyComponent { + + protected readonly myInput = input('...'); + protected readonly mySignal = signal('...'); + protected readonly myComputed = computed(() => ...); + +} +``` + + + + + +```ts + +export class MyComponent { + + protected myInput = input('...'); + protected mySignal = signal('...'); + protected myComputed = computed(() => ...); + +} +``` + + + ## Angular ### Avoid calling methods in templates