diff --git a/IPython/html/widgets/widget_bool.py b/IPython/html/widgets/widget_bool.py
index 0f96e40..43f4b17 100644
--- a/IPython/html/widgets/widget_bool.py
+++ b/IPython/html/widgets/widget_bool.py
@@ -24,7 +24,7 @@ class BoolWidget(Widget):
default_view_name = Unicode('CheckboxView')
# Model Keys
- _keys = ['value', 'description', 'disabled']
+ keys = ['value', 'description', 'disabled'] + Widget.keys
value = Bool(False, help="Bool value")
description = Unicode('', help="Description of the boolean (label).")
disabled = Bool(False, help="Enable or disable user changes.")
diff --git a/IPython/html/widgets/widget_button.py b/IPython/html/widgets/widget_button.py
index 0bb693a..5f0a35c 100644
--- a/IPython/html/widgets/widget_button.py
+++ b/IPython/html/widgets/widget_button.py
@@ -28,7 +28,7 @@ class ButtonWidget(Widget):
default_view_name = Unicode('ButtonView')
# Keys
- _keys = ['description', 'disabled']
+ keys = ['description', 'disabled'] + Widget.keys
description = Unicode('', help="Description of the button (label).")
disabled = Bool(False, help="Enable or disable user changes.")
diff --git a/IPython/html/widgets/widget_container.py b/IPython/html/widgets/widget_container.py
index 60698c7..857bf01 100644
--- a/IPython/html/widgets/widget_container.py
+++ b/IPython/html/widgets/widget_container.py
@@ -25,10 +25,10 @@ class ContainerWidget(Widget):
# Keys, all private and managed by helper methods. Flexible box model
# classes...
- _keys = ['_vbox', '_hbox', '_align_start', '_align_end', '_align_center',
+ keys = ['_vbox', '_hbox', '_align_start', '_align_end', '_align_center',
'_pack_start', '_pack_end', '_pack_center', '_flex0', '_flex1',
'_flex2', 'description', 'button_text',
- 'children']
+ 'children'] + Widget.keys
children = List(Instance(Widget))
description = Unicode()
diff --git a/IPython/html/widgets/widget_float.py b/IPython/html/widgets/widget_float.py
index b80d094..a52a7b2 100644
--- a/IPython/html/widgets/widget_float.py
+++ b/IPython/html/widgets/widget_float.py
@@ -24,7 +24,7 @@ class FloatWidget(Widget):
default_view_name = Unicode('FloatTextView')
# Keys
- _keys = ['value', 'disabled', 'description']
+ keys = ['value', 'disabled', 'description'] + Widget.keys
value = Float(0.0, help="Float value")
disabled = Bool(False, help="Enable or disable user changes")
description = Unicode(help="Description of the value this widget represents")
diff --git a/IPython/html/widgets/widget_float_range.py b/IPython/html/widgets/widget_float_range.py
index bf7f278..dac89f9 100644
--- a/IPython/html/widgets/widget_float_range.py
+++ b/IPython/html/widgets/widget_float_range.py
@@ -24,7 +24,7 @@ class FloatRangeWidget(Widget):
default_view_name = Unicode('FloatSliderView')
# Keys
- _keys = ['value', 'step', 'max', 'min', 'disabled', 'orientation', 'description']
+ keys = ['value', 'step', 'max', 'min', 'disabled', 'orientation', 'description'] + Widget.keys
value = Float(0.0, help="Flaot value")
max = Float(100.0, help="Max value")
min = Float(0.0, help="Min value")
diff --git a/IPython/html/widgets/widget_image.py b/IPython/html/widgets/widget_image.py
index 1b3f448..214c772 100644
--- a/IPython/html/widgets/widget_image.py
+++ b/IPython/html/widgets/widget_image.py
@@ -27,7 +27,7 @@ class ImageWidget(Widget):
default_view_name = Unicode('ImageView')
# Define the custom state properties to sync with the front-end
- _keys = ['image_format', 'width', 'height', '_b64value']
+ keys = ['image_format', 'width', 'height', '_b64value'] + Widget.keys
image_format = Unicode('png')
width = Unicode()
height = Unicode()
diff --git a/IPython/html/widgets/widget_int.py b/IPython/html/widgets/widget_int.py
index 626771e..91dab57 100644
--- a/IPython/html/widgets/widget_int.py
+++ b/IPython/html/widgets/widget_int.py
@@ -24,7 +24,7 @@ class IntWidget(Widget):
default_view_name = Unicode('IntTextView')
# Keys
- _keys = ['value', 'disabled', 'description']
+ keys = ['value', 'disabled', 'description'] + Widget.keys
value = Int(0, help="Int value")
disabled = Bool(False, help="Enable or disable user changes")
description = Unicode(help="Description of the value this widget represents")
diff --git a/IPython/html/widgets/widget_int_range.py b/IPython/html/widgets/widget_int_range.py
index dcdd750..d7383d9 100644
--- a/IPython/html/widgets/widget_int_range.py
+++ b/IPython/html/widgets/widget_int_range.py
@@ -24,7 +24,7 @@ class IntRangeWidget(Widget):
default_view_name = Unicode('IntSliderView')
# Keys
- _keys = ['value', 'step', 'max', 'min', 'disabled', 'orientation', 'description']
+ keys = ['value', 'step', 'max', 'min', 'disabled', 'orientation', 'description'] + Widget.keys
value = Int(0, help="Int value")
max = Int(100, help="Max value")
min = Int(0, help="Min value")
diff --git a/IPython/html/widgets/widget_multicontainer.py b/IPython/html/widgets/widget_multicontainer.py
index 566514d..c82d520 100644
--- a/IPython/html/widgets/widget_multicontainer.py
+++ b/IPython/html/widgets/widget_multicontainer.py
@@ -25,7 +25,7 @@ class MulticontainerWidget(Widget):
default_view_name = Unicode('TabView')
# Keys
- _keys = ['_titles', 'selected_index', 'children']
+ keys = ['_titles', 'selected_index', 'children'] + Widget.keys
_titles = Dict(help="Titles of the pages")
selected_index = Int(0)
diff --git a/IPython/html/widgets/widget_selection.py b/IPython/html/widgets/widget_selection.py
index 566d1b1..1488a5d 100644
--- a/IPython/html/widgets/widget_selection.py
+++ b/IPython/html/widgets/widget_selection.py
@@ -24,7 +24,7 @@ class SelectionWidget(Widget):
default_view_name = Unicode('DropdownView')
# Keys
- _keys = ['value', 'values', 'disabled', 'description']
+ keys = ['value', 'values', 'disabled', 'description'] + Widget.keys
value = Unicode(help="Selected value")
values = List(help="List of values the user can select")
disabled = Bool(False, help="Enable or disable user changes")
diff --git a/IPython/html/widgets/widget_string.py b/IPython/html/widgets/widget_string.py
index 8c60eeb..d7bbaad 100644
--- a/IPython/html/widgets/widget_string.py
+++ b/IPython/html/widgets/widget_string.py
@@ -27,7 +27,7 @@ class StringWidget(Widget):
default_view_name = Unicode('TextBoxView')
# Keys
- _keys = ['value', 'disabled', 'description']
+ keys = ['value', 'disabled', 'description'] + Widget.keys
value = Unicode(help="String value")
disabled = Bool(False, help="Enable or disable user changes")
description = Unicode(help="Description of the value this widget represents")