diff --git a/packages/oui-message/README.md b/packages/oui-message/README.md
index 3a082ae9..40f1b7cc 100644
--- a/packages/oui-message/README.md
+++ b/packages/oui-message/README.md
@@ -4,28 +4,26 @@
## Usage
-### Information
+### Basic
```html:preview
Message
-```
-
-### Success
-
-```html:preview
Message
+Message
+Message
```
-### Warning
+**Note**: Messages of type `info` and `success` are dismissable by default.
-```html:preview
-Message
-```
+### Dismissable
-### Error
+You can force the dismissable state by adding `dismissable` attribute.
```html:preview
-Message
+Message
+Message
+Message
+Message
```
### Accessibility
@@ -39,5 +37,6 @@
| Attribute | Type | Binding | One-time binding | Values | Default | Description
| ---- | ---- | ---- | ---- | ---- | ---- | ----
| `type` | string | @ | yes | `info`, `success`, `warning`, `error` | n/a | message type
-| `aria-close-button-label` | function | @? | yes | n/a | n/a | accessibility label for close button
+| `aria-close-button-label` | string | @? | yes | n/a | n/a | accessibility label for close button
+| `dismissable` | boolean | | yes | `true`, `false` | n/a | dismissable flag for close button
| `on-dismissed` | function | &? | no | n/a | n/a | dismissed handler
diff --git a/packages/oui-message/src/message.component.js b/packages/oui-message/src/message.component.js
index 511c6bfd..008b705b 100644
--- a/packages/oui-message/src/message.component.js
+++ b/packages/oui-message/src/message.component.js
@@ -8,7 +8,7 @@ export default {
type: "@",
ariaCloseButtonLabel: "@?",
dismissable: "",
- onDismissed: "&?"
+ onDismissed: "&"
},
transclude: true
};
diff --git a/packages/oui-message/src/message.controller.js b/packages/oui-message/src/message.controller.js
index 8f75d0c5..752bec94 100644
--- a/packages/oui-message/src/message.controller.js
+++ b/packages/oui-message/src/message.controller.js
@@ -1,4 +1,4 @@
-import { addBooleanParameter } from "@oui-angular/common/component-utils";
+import { addBooleanParameter, addDefaultParameter } from "@oui-angular/common/component-utils";
export default class {
constructor ($attrs) {
@@ -8,14 +8,13 @@ export default class {
}
$onInit () {
+ // Guidelines default value for dismissable attribute
+ addDefaultParameter(this, "dismissable", this.type === "info" || this.type === "success");
addBooleanParameter(this, "dismissable");
}
dismiss () {
this.dismissed = true;
-
- if (this.onDismissed) {
- this.onDismissed();
- }
+ this.onDismissed();
}
}
diff --git a/packages/oui-message/src/message.html b/packages/oui-message/src/message.html
index dd4b09cf..c4b19880 100644
--- a/packages/oui-message/src/message.html
+++ b/packages/oui-message/src/message.html
@@ -1,7 +1,7 @@