[gnome-control-center] universal-access: Updated design



commit 145ffcbb550ae4f897ec8a5e397830ffbd565f04
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Mar 3 21:07:08 2013 -0500

    universal-access: Updated design
    
    A new design for the universal acccess panel:
    https://live.gnome.org/Design/SystemSettings/UniversalAccess
    
    https://bugzilla.gnome.org/show_bug.cgi?id=695099

 panels/universal-access/cc-ua-panel.c   |  848 ++++---
 panels/universal-access/uap.ui          | 3874 +++++++++++++++----------------
 panels/universal-access/zoom-options.ui |    3 +-
 3 files changed, 2340 insertions(+), 2385 deletions(-)
---
diff --git a/panels/universal-access/cc-ua-panel.c b/panels/universal-access/cc-ua-panel.c
index 413a92e..7825b4f 100644
--- a/panels/universal-access/cc-ua-panel.c
+++ b/panels/universal-access/cc-ua-panel.c
@@ -33,124 +33,104 @@
 
 #include "zoom-options.h"
 
-#define WID(b, w) (GtkWidget *) gtk_builder_get_object (b, w)
+#define WID(w) GTK_WIDGET (gtk_builder_get_object (self->priv->builder, w))
 
 #define DPI_FACTOR_LARGE 1.25
 #define DPI_FACTOR_NORMAL 1.0
-
 #define HIGH_CONTRAST_THEME     "HighContrast"
-#define KEY_TEXT_SCALING_FACTOR "text-scaling-factor"
-#define KEY_GTK_THEME           "gtk-theme"
-#define KEY_ICON_THEME          "icon-theme"
-#define KEY_WM_THEME            "theme"
 
-CC_PANEL_REGISTER (CcUaPanel, cc_ua_panel)
+/* shell settings */
+#define A11Y_SETTINGS               "org.gnome.desktop.a11y"
+#define KEY_ALWAYS_SHOW_STATUS       "always-show-universal-access-status"
+
+/* interface settings */
+#define INTERFACE_SETTINGS           "org.gnome.desktop.interface"
+#define KEY_TEXT_SCALING_FACTOR      "text-scaling-factor"
+#define KEY_GTK_THEME                "gtk-theme"
+#define KEY_ICON_THEME               "icon-theme"
+
+/* application settings */
+#define APPLICATION_SETTINGS         "org.gnome.desktop.a11y.applications"
+#define KEY_SCREEN_KEYBOARD_ENABLED  "screen-keyboard-enabled"
+#define KEY_SCREEN_MAGNIFIER_ENABLED "screen-magnifier-enabled"
+#define KEY_SCREEN_READER_ENABLED    "screen-reader-enabled"
+
+/* wm settings */
+#define WM_SETTINGS                  "org.gnome.desktop.wm.preferences"
+#define KEY_VISUAL_BELL_ENABLED      "visual-bell"
+#define KEY_VISUAL_BELL_TYPE         "visual-bell-type"
+#define KEY_WM_THEME                 "theme"
+
+/* keyboard settings */
+#define KEYBOARD_SETTINGS            "org.gnome.desktop.a11y.keyboard"
+#define KEY_KEYBOARD_TOGGLE          "enable"
+#define KEY_STICKYKEYS_ENABLED       "stickykeys-enable"
+#define KEY_STICKYKEYS_TWO_KEY_OFF   "stickykeys-two-key-off"
+#define KEY_STICKYKEYS_MODIFIER_BEEP "stickykeys-modifier-beep"
+#define KEY_SLOWKEYS_ENABLED         "slowkeys-enable"
+#define KEY_SLOWKEYS_DELAY           "slowkeys-delay"
+#define KEY_SLOWKEYS_BEEP_PRESS      "slowkeys-beep-press"
+#define KEY_SLOWKEYS_BEEP_ACCEPT     "slowkeys-beep-accept"
+#define KEY_SLOWKEYS_BEEP_REJECT     "slowkeys-beep-reject"
+#define KEY_BOUNCEKEYS_ENABLED       "bouncekeys-enable"
+#define KEY_BOUNCEKEYS_DELAY         "bouncekeys-delay"
+#define KEY_BOUNCEKEYS_BEEP_REJECT   "bouncekeys-beep-reject"
+#define KEY_MOUSEKEYS_ENABLED        "mousekeys-enable"
+#define KEY_TOGGLEKEYS_ENABLED       "togglekeys-enable"
+
+/* mouse settings */
+#define MOUSE_SETTINGS               "org.gnome.desktop.a11y.mouse"
+#define KEY_SECONDARY_CLICK_ENABLED  "secondary-click-enabled"
+#define KEY_SECONDARY_CLICK_TIME     "secondary-click-time"
+#define KEY_DWELL_CLICK_ENABLED      "dwell-click-enabled"
+#define KEY_DWELL_TIME               "dwell-time"
+#define KEY_DWELL_THRESHOLD          "dwell-threshold"
+
+#define SCROLL_HEIGHT 490
 
-#define UA_PANEL_PRIVATE(o) \
-  (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_UA_PANEL, CcUaPanelPrivate))
+CC_PANEL_REGISTER (CcUaPanel, cc_ua_panel)
 
 struct _CcUaPanelPrivate
 {
   GtkBuilder *builder;
+
   GSettings *wm_settings;
+  GSettings *a11y_settings;
   GSettings *interface_settings;
   GSettings *kb_settings;
   GSettings *mouse_settings;
   GSettings *application_settings;
-  GSettings *mediakeys_settings;
 
   ZoomOptions *zoom_options;
-};
 
+  GtkAdjustment *focus_adjustment;
 
-static void
-cc_ua_panel_get_property (GObject    *object,
-                          guint       property_id,
-                          GValue     *value,
-                          GParamSpec *pspec)
-{
-  switch (property_id)
-    {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-    }
-}
-
-static void
-cc_ua_panel_set_property (GObject      *object,
-                          guint         property_id,
-                          const GValue *value,
-                          GParamSpec   *pspec)
-{
-  switch (property_id)
-    {
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-    }
-}
+  GList *sections;
+  GList *sections_reverse;
+};
 
 static void
 cc_ua_panel_dispose (GObject *object)
 {
   CcUaPanelPrivate *priv = CC_UA_PANEL (object)->priv;
 
-  if (priv->builder)
-    {
-      g_object_unref (priv->builder);
-      priv->builder = NULL;
-    }
-
-  if (priv->wm_settings)
-    {
-      g_object_unref (priv->wm_settings);
-      priv->wm_settings = NULL;
-    }
-
-  if (priv->interface_settings)
-    {
-      g_object_unref (priv->interface_settings);
-      priv->interface_settings = NULL;
-    }
-
-  if (priv->kb_settings)
-    {
-      g_object_unref (priv->kb_settings);
-      priv->kb_settings = NULL;
-    }
-
-  if (priv->mouse_settings)
-    {
-      g_object_unref (priv->mouse_settings);
-      priv->mouse_settings = NULL;
-    }
+  g_clear_object (&priv->builder);
 
-  if (priv->application_settings)
-    {
-      g_object_unref (priv->application_settings);
-      priv->application_settings = NULL;
-    }
+  g_clear_object (&priv->wm_settings);
+  g_clear_object (&priv->a11y_settings);
+  g_clear_object (&priv->interface_settings);
+  g_clear_object (&priv->kb_settings);
+  g_clear_object (&priv->mouse_settings);
+  g_clear_object (&priv->application_settings);
 
-  if (priv->mediakeys_settings)
-    {
-      g_object_unref (priv->mediakeys_settings);
-      priv->mediakeys_settings = NULL;
-    }
+  g_clear_object (&priv->zoom_options);
 
-  if (priv->zoom_options)
-    {
-      g_object_unref (priv->zoom_options);
-      priv->zoom_options = NULL;
-    }
+  g_clear_pointer (&priv->sections, g_list_free);
+  g_clear_pointer (&priv->sections_reverse, g_list_free);
 
   G_OBJECT_CLASS (cc_ua_panel_parent_class)->dispose (object);
 }
 
-static void
-cc_ua_panel_finalize (GObject *object)
-{
-  G_OBJECT_CLASS (cc_ua_panel_parent_class)->finalize (object);
-}
-
 static const char *
 cc_ua_panel_get_help_uri (CcPanel *panel)
 {
@@ -167,51 +147,12 @@ cc_ua_panel_class_init (CcUaPanelClass *klass)
 
   panel_class->get_help_uri = cc_ua_panel_get_help_uri;
 
-  object_class->get_property = cc_ua_panel_get_property;
-  object_class->set_property = cc_ua_panel_set_property;
   object_class->dispose = cc_ua_panel_dispose;
-  object_class->finalize = cc_ua_panel_finalize;
 }
 
-static gchar *sticky_keys_section[] = {
-    "typing_sticky_keys_disable_two_keys_checkbutton",
-    "typing_sticky_keys_beep_modifier_checkbutton",
-    NULL
-};
-
-static gchar *slow_keys_section[]= {
-    "typing_slowkeys_delay_box",
-    "typing_slow_keys_beeb_box",
-    NULL
-};
-
-static gchar *bounce_keys_section[] = {
-    "typing_bouncekeys_delay_box",
-    "typing_bounce_keys_beep_rejected_checkbutton",
-    NULL
-};
-
-static gchar *secondary_click_section[] = {
-    "pointing_secondary_click_scale_box",
-    NULL
-};
-
-static gchar *dwell_click_section[] = {
-    "pointing_hover_click_delay_scale_box",
-    "pointing_hover_click_threshold_scale_box",
-    NULL
-};
-
-static gchar *visual_alerts_section[] = {
-    "hearing_test_flash_button",
-    "hearing_flash_window_title_button",
-    "hearing_flash_screen_button",
-    NULL
-};
-
 /* zoom options dialog */
 static void
-zoom_options_launch_cb (GtkWidget *options_button, CcUaPanel *self)
+zoom_options_launch (CcUaPanel *self)
 {
   if (self->priv->zoom_options == NULL)
     self->priv->zoom_options = zoom_options_new ();
@@ -221,80 +162,12 @@ zoom_options_launch_cb (GtkWidget *options_button, CcUaPanel *self)
                             GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))));
 }
 
-static void
-cc_ua_panel_section_switched (GObject    *object,
-                              GParamSpec *pspec,
-                              GtkBuilder *builder)
-{
-  GtkWidget *w;
-  gboolean enabled;
-  gchar **widgets, **s;
-
-  widgets = g_object_get_data (object, "section-widgets");
-
-  g_object_get (object, "active", &enabled, NULL);
-
-  for (s = widgets; *s; s++)
-    {
-      w = WID (builder, *s);
-      gtk_widget_set_sensitive (w, enabled);
-    }
-}
-
-static void
-settings_on_off_editor_new (CcUaPanelPrivate  *priv,
-                            GSettings         *settings,
-                            const gchar       *key,
-                            GtkWidget         *widget,
-                            gchar            **section)
-{
-  /* set data to enable/disable the section this on/off switch controls */
-  if (section)
-    {
-      g_object_set_data (G_OBJECT (widget), "section-widgets", section);
-      g_signal_connect (widget, "notify::active",
-                        G_CALLBACK (cc_ua_panel_section_switched),
-                        priv->builder);
-    }
-
-  /* set up the boolean editor */
-  g_settings_bind (settings, key, widget, "active", G_SETTINGS_BIND_DEFAULT);
-}
-
 /* seeing section */
 
-static void
-cc_ua_panel_set_shortcut_label (CcUaPanel  *self,
-                               const char *label,
-                               const char *key)
+static gboolean
+is_large_factor (gdouble factor)
 {
-       GtkWidget *widget;
-       char *value;
-       char *text;
-       guint accel_key, *keycode;
-       GdkModifierType mods;
-
-       widget = WID (self->priv->builder, label);
-       value = g_settings_get_string (self->priv->mediakeys_settings, key);
-
-       if (value == NULL || *value == '\0') {
-               gtk_label_set_text (GTK_LABEL (widget), _("No shortcut set"));
-               g_free (value);
-               return;
-       }
-       gtk_accelerator_parse_with_keycode (value, &accel_key, &keycode, &mods);
-       if (accel_key == 0 && keycode == NULL && mods == 0) {
-               gtk_label_set_text (GTK_LABEL (widget), _("No shortcut set"));
-               g_free (value);
-               g_warning ("Failed to parse keyboard shortcut: '%s'", value);
-               return;
-       }
-       g_free (value);
-
-       text = gtk_accelerator_get_label_with_keycode (gtk_widget_get_display (widget), accel_key, *keycode, 
mods);
-       g_free (keycode);
-       gtk_label_set_text (GTK_LABEL (widget), text);
-       g_free (text);
+  return (factor > DPI_FACTOR_NORMAL);
 }
 
 static gboolean
@@ -303,11 +176,9 @@ get_large_text_mapping (GValue   *value,
                         gpointer  user_data)
 {
   gdouble factor;
-  gboolean large;
 
   factor = g_variant_get_double (variant);
-  large = factor > DPI_FACTOR_NORMAL;
-  g_value_set_boolean (value, large);
+  g_value_set_boolean (value, is_large_factor (factor));
 
   return TRUE;
 }
@@ -374,64 +245,245 @@ set_contrast_mapping (const GValue       *value,
   return ret;
 }
 
+static gboolean
+on_off_label_mapping_get (GValue   *value,
+                          GVariant *variant,
+                          gpointer  user_data)
+{
+  g_value_set_string (value, g_variant_get_boolean (variant) ? _("On") : _("Off"));
+
+  return TRUE;
+}
+
+static void
+update_separator_func (GtkListBoxRow  *row,
+                       GtkListBoxRow  *before,
+                       gpointer        user_data)
+{
+  GtkWidget *current;
+
+  if (before == NULL)
+    return;
+
+  current = gtk_list_box_row_get_header (row);
+  if (current == NULL)
+    {
+      current = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
+      gtk_widget_show (current);
+      gtk_list_box_row_set_header (row, current);
+    }
+}
+
+static void
+add_separators (GtkListBox *list)
+{
+  gtk_list_box_set_header_func (list, update_separator_func, NULL, NULL);
+}
+
+static gboolean
+keynav_failed (GtkWidget *list, GtkDirectionType direction, CcUaPanel *self)
+{
+  CcUaPanelPrivate *priv = self->priv;
+  GList *item, *sections;
+  gdouble value, lower, upper, page;
+
+  /* Find the list in the list of GtkListBoxes */
+  if (direction == GTK_DIR_DOWN)
+    sections = priv->sections;
+  else
+    sections = priv->sections_reverse;
+
+  item = g_list_find (sections, list);
+  g_assert (item);
+  if (item->next)
+    {
+      gtk_widget_child_focus (GTK_WIDGET (item->next->data), direction);
+      return TRUE;
+    }
+
+  value = gtk_adjustment_get_value (priv->focus_adjustment);
+  lower = gtk_adjustment_get_lower (priv->focus_adjustment);
+  upper = gtk_adjustment_get_upper (priv->focus_adjustment);
+  page  = gtk_adjustment_get_page_size (priv->focus_adjustment);
+
+  if (direction == GTK_DIR_UP && value > lower)
+    {
+      gtk_adjustment_set_value (priv->focus_adjustment, lower);
+      return TRUE;
+    }
+  else if (direction == GTK_DIR_DOWN && value < upper - page)
+    {
+      gtk_adjustment_set_value (priv->focus_adjustment, upper - page);
+      return TRUE;
+    }
+
+  return FALSE;
+}
+
+static void
+add_section (GtkWidget *list, CcUaPanel *self)
+{
+  CcUaPanelPrivate *priv = self->priv;
+
+  g_signal_connect (list, "keynav-failed", G_CALLBACK (keynav_failed), self);
+
+  priv->sections = g_list_append (priv->sections, list);
+  priv->sections_reverse = g_list_prepend (priv->sections_reverse, list);
+}
+
+static void
+cc_ua_panel_init_status (CcUaPanel *self)
+{
+  CcUaPanelPrivate *priv = self->priv;
+  GtkWidget *box;
+
+  box = GTK_WIDGET (gtk_builder_get_object (priv->builder, "section_status"));
+  priv->sections_reverse = g_list_prepend (priv->sections_reverse, box);
+
+  g_settings_bind (priv->a11y_settings, KEY_ALWAYS_SHOW_STATUS,
+                   WID ("switch_status"), "active",
+                   G_SETTINGS_BIND_DEFAULT);
+}
+
+static void
+activate_row (CcUaPanel *self, GtkListBoxRow *row)
+{
+  GtkWidget *dialog;
+  const gchar *dialog_id;
+
+  dialog_id = (const gchar *)g_object_get_data (G_OBJECT (row), "dialog-id");
+  if (g_strcmp0 (dialog_id, "zoom") == 0)
+    {
+      zoom_options_launch (self);
+      return;
+    }
+
+  dialog = (GtkWidget *)g_object_get_data (G_OBJECT (row), "dialog");
+  if (dialog == NULL)
+    return;
+
+  gtk_window_set_transient_for (GTK_WINDOW (dialog),
+                                GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (self))));
+  gtk_window_present (GTK_WINDOW (dialog));
+}
+
+static void
+mnemonic_activate (GtkLabel *label, gboolean cycling, CcUaPanel *self)
+{
+  GtkWidget *row;
+
+  row = gtk_widget_get_parent (GTK_WIDGET (label));
+  activate_row (self, GTK_LIST_BOX_ROW (row));
+}
+
 static void
 cc_ua_panel_init_seeing (CcUaPanel *self)
 {
   CcUaPanelPrivate *priv = self->priv;
+  GtkWidget *list;
+  GtkWidget *dialog;
+
+  list = WID ("list_seeing");
+  add_section (list, self);
+
+  add_separators (GTK_LIST_BOX (list));
+
+  g_signal_connect_swapped (list, "row-activated",
+                            G_CALLBACK (activate_row), self);
 
   g_settings_bind_with_mapping (priv->interface_settings, KEY_GTK_THEME,
-                                WID (priv->builder, "seeing_contrast_switch"),
+                                WID ("value_highcontrast"),
                                 "active", G_SETTINGS_BIND_DEFAULT,
                                 get_contrast_mapping,
                                 set_contrast_mapping,
                                 self,
                                 NULL);
+
+  /* large text */
+
   g_settings_bind_with_mapping (priv->interface_settings, KEY_TEXT_SCALING_FACTOR,
-                                WID (priv->builder, "seeing_large_text_switch"),
+                                WID ("value_large_text"),
                                 "active", G_SETTINGS_BIND_DEFAULT,
                                 get_large_text_mapping,
                                 set_large_text_mapping,
                                 priv->interface_settings,
                                 NULL);
 
-  g_settings_bind (priv->kb_settings, "togglekeys-enable",
-                   WID (priv->builder, "seeing_toggle_keys_switch"), "active",
+  g_signal_connect (WID ("heading_large_text"), "mnemonic-activate",
+                    G_CALLBACK (mnemonic_activate), self);
+
+  /* zoom */
+
+  g_settings_bind_with_mapping (priv->application_settings, "screen-magnifier-enabled",
+                                WID ("value_zoom"),
+                                "label", G_SETTINGS_BIND_GET,
+                                on_off_label_mapping_get,
+                                NULL, NULL, NULL);
+
+  g_object_set_data (G_OBJECT (WID ("row_zoom")), "dialog-id", "zoom");
+  g_signal_connect (WID ("heading_zoom"), "mnemonic-activate",
+                    G_CALLBACK (mnemonic_activate), self);
+
+  /* screen reader */
+
+  g_settings_bind_with_mapping (priv->application_settings, "screen-reader-enabled",
+                                WID ("value_screen_reader"), "label",
+                                G_SETTINGS_BIND_GET,
+                                on_off_label_mapping_get,
+                                NULL, NULL, NULL);
+
+  g_settings_bind (priv->application_settings, "screen-reader-enabled",
+                   WID ("screen_reader_switch"), "active",
                    G_SETTINGS_BIND_DEFAULT);
 
-  g_signal_connect (WID (priv->builder, "seeing_zoom_preferences_button"),
-                    "clicked",
-                    G_CALLBACK (zoom_options_launch_cb), self);
-  g_settings_bind (priv->application_settings, "screen-magnifier-enabled",
-                   WID (priv->builder, "seeing_zoom_switch"), "active",
+  dialog = WID ("screen_reader_dialog");
+
+  g_object_set_data (G_OBJECT (WID ("row_screen_reader")), "dialog", dialog);
+  g_signal_connect_swapped (WID ("screen_reader_done"), "clicked",
+                            G_CALLBACK (gtk_widget_hide), dialog);
+  g_signal_connect (dialog, "delete-event",
+                    G_CALLBACK (gtk_widget_hide_on_delete), NULL);
+  g_signal_connect (WID ("heading_screen_reader"), "mnemonic-activate",
+                    G_CALLBACK (mnemonic_activate), self);
+
+  /* sound keys */
+
+  g_settings_bind_with_mapping (priv->kb_settings, KEY_TOGGLEKEYS_ENABLED,
+                                WID ("value_sound_keys"), "label",
+                                G_SETTINGS_BIND_GET,
+                                on_off_label_mapping_get,
+                                NULL, NULL, NULL);
+
+  g_settings_bind (priv->kb_settings, KEY_TOGGLEKEYS_ENABLED,
+                   WID ("sound_keys_switch"), "active",
                    G_SETTINGS_BIND_DEFAULT);
 
-  settings_on_off_editor_new (priv, priv->application_settings,
-                              "screen-reader-enabled",
-                              WID (priv->builder, "seeing_reader_switch"),
-                              NULL);
+  dialog = WID ("sound_keys_dialog");
 
-  cc_ua_panel_set_shortcut_label (self, "seeing_zoom_enable_keybinding_label", "magnifier");
-  cc_ua_panel_set_shortcut_label (self, "seeing_zoom_in_keybinding_label", "magnifier-zoom-in");
-  cc_ua_panel_set_shortcut_label (self, "seeing_zoom_out_keybinding_label", "magnifier-zoom-out");
-  cc_ua_panel_set_shortcut_label (self, "seeing_reader_enable_keybinding_label", "screenreader");
+  g_object_set_data (G_OBJECT (WID ("row_sound_keys")), "dialog", dialog);
+  g_signal_connect_swapped (WID ("sound_keys_done"), "clicked",
+                            G_CALLBACK (gtk_widget_hide), dialog);
+  g_signal_connect (dialog, "delete-event",
+                    G_CALLBACK (gtk_widget_hide_on_delete), NULL);
+  g_signal_connect (WID ("heading_sound_keys"), "mnemonic-activate",
+                    G_CALLBACK (mnemonic_activate), self);
 }
 
-
 /* hearing/sound section */
 static void
 visual_bell_type_notify_cb (GSettings   *settings,
                             const gchar *key,
-                            CcUaPanel   *panel)
+                            CcUaPanel   *self)
 {
   GtkWidget *widget;
   GDesktopVisualBellType type;
 
-  type = g_settings_get_enum (panel->priv->wm_settings, "visual-bell-type");
+  type = g_settings_get_enum (self->priv->wm_settings, KEY_VISUAL_BELL_TYPE);
 
   if (type == G_DESKTOP_VISUAL_BELL_FRAME_FLASH)
-    widget = WID (panel->priv->builder, "hearing_flash_window_title_button");
+    widget = WID ("visual_alerts_window_radio");
   else
-    widget = WID (panel->priv->builder, "hearing_flash_screen_button");
+    widget = WID ("visual_alerts_screen_radio");
 
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE);
 }
@@ -449,209 +501,331 @@ visual_bell_type_toggle_cb (GtkWidget *button,
     type = G_DESKTOP_VISUAL_BELL_FRAME_FLASH;
   else
     type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH;
-  g_settings_set_enum (panel->priv->wm_settings, "visual-bell-type", type);
-}
-
-static gboolean
-hearing_sound_preferences_clicked (GtkButton  *button,
-                                   CcUaPanel  *panel)
-{
-  CcShell *shell;
-
-  shell = cc_panel_get_shell (CC_PANEL (panel));
-  cc_shell_set_active_panel_from_id (shell, "sound", NULL, NULL);
-
-  return TRUE;
+  g_settings_set_enum (panel->priv->wm_settings, KEY_VISUAL_BELL_TYPE, type);
 }
 
 static void
 cc_ua_panel_init_hearing (CcUaPanel *self)
 {
   CcUaPanelPrivate *priv = self->priv;
-  GtkWidget *w;
+  GtkWidget *list;
+  GtkWidget *dialog;
+
+  list = WID ("list_hearing");
+  add_section (list, self);
+
+  add_separators (GTK_LIST_BOX (list));
+
+  g_signal_connect_swapped (list, "row-activated",
+                            G_CALLBACK (activate_row), self);
 
   /* set the initial visual bell values */
   visual_bell_type_notify_cb (NULL, NULL, self);
 
   /* and listen */
-  w = WID (priv->builder, "hearing_visual_alerts_switch");
-  settings_on_off_editor_new (priv, priv->wm_settings, "visual-bell", w, visual_alerts_section);
+  g_settings_bind (priv->wm_settings, KEY_VISUAL_BELL_ENABLED,
+                   WID ("visual_alerts_switch"), "active",
+                   G_SETTINGS_BIND_DEFAULT);
+
+  g_settings_bind_with_mapping (priv->wm_settings, KEY_VISUAL_BELL_ENABLED,
+                                WID ("value_visual_alerts"),
+                                "label", G_SETTINGS_BIND_GET,
+                                on_off_label_mapping_get,
+                                NULL, NULL, NULL);
 
-  g_signal_connect (priv->wm_settings, "changed::visual-bell-type",
+  g_object_bind_property (WID ("visual_alerts_switch"), "active",
+                          WID ("visual_alerts_window_radio"), "sensitive",
+                          G_BINDING_SYNC_CREATE);
+  g_object_bind_property (WID ("visual_alerts_switch"), "active",
+                          WID ("visual_alerts_screen_radio"), "sensitive",
+                          G_BINDING_SYNC_CREATE);
+
+  g_signal_connect (priv->wm_settings, "changed::" KEY_VISUAL_BELL_TYPE,
                     G_CALLBACK (visual_bell_type_notify_cb), self);
-  g_signal_connect (WID (priv->builder, "hearing_flash_window_title_button"),
+  g_signal_connect (WID ("visual_alerts_window_radio"),
                     "toggled", G_CALLBACK (visual_bell_type_toggle_cb), self);
 
-  /* test flash */
-  g_signal_connect (WID (priv->builder, "hearing_test_flash_button"),
-                    "clicked", G_CALLBACK (gdk_beep), NULL);
+  dialog = WID ("visual_alerts_dialog");
 
-  g_signal_connect (WID (priv->builder, "hearing_sound_preferences_link"),
-                    "activate-link",
-                    G_CALLBACK (hearing_sound_preferences_clicked), self);
+  g_object_set_data (G_OBJECT (WID ("row_visual_alerts")), "dialog", dialog);
+
+  g_signal_connect_swapped (WID ("visual_alerts_done"), "clicked",
+                            G_CALLBACK (gtk_widget_hide), dialog);
+  g_signal_connect (dialog, "delete-event",
+                    G_CALLBACK (gtk_widget_hide_on_delete), NULL);
+
+  g_signal_connect (WID ("visual_alerts_test_button"),
+                    "clicked", G_CALLBACK (gdk_beep), NULL);
+  g_signal_connect (WID ("heading_visual_alerts"), "mnemonic-activate",
+                    G_CALLBACK (mnemonic_activate), self);
 }
 
 /* typing/keyboard section */
+static void
+update_accessx_label (GSettings *settings, const gchar *key, CcUaPanel *self)
+{
+  gboolean on;
+
+  on = g_settings_get_boolean (settings, KEY_STICKYKEYS_ENABLED) ||
+       g_settings_get_boolean (settings, KEY_SLOWKEYS_ENABLED) ||
+       g_settings_get_boolean (settings, KEY_BOUNCEKEYS_ENABLED);
+
+  gtk_label_set_text (GTK_LABEL (WID ("value_accessx")), on ? _("On") : _("Off"));
+}
 
 static void
 cc_ua_panel_init_keyboard (CcUaPanel *self)
 {
   CcUaPanelPrivate *priv = self->priv;
+  GtkWidget *list;
   GtkWidget *w;
+  GtkWidget *sw;
+  GtkWidget *dialog;
+
+  list = WID ("list_typing");
+  add_section (list, self);
 
-  /* Typing assistant (on-screen keyboard) */
-  w = WID (priv->builder, "typing_assistant_switch");
-  g_settings_bind (priv->application_settings, "screen-keyboard-enabled",
-                   w, "active", G_SETTINGS_BIND_DEFAULT);
+  add_separators (GTK_LIST_BOX (list));
+
+  g_signal_connect_swapped (list, "row-activated",
+                            G_CALLBACK (activate_row), self);
+
+  /* on-screen keyboard */
+  sw = WID ("screen_keyboard_switch");
+  g_settings_bind (priv->application_settings, KEY_SCREEN_KEYBOARD_ENABLED,
+                   sw, "active",
+                   G_SETTINGS_BIND_DEFAULT);
+
+  /* accessx */
+  g_signal_connect (priv->kb_settings, "changed",
+                    G_CALLBACK (update_accessx_label), self);
+  update_accessx_label (priv->kb_settings, NULL, self);
 
   /* enable shortcuts */
-  w = WID (priv->builder, "typing_keyboard_toggle_switch");
-  g_settings_bind (priv->kb_settings, "enable", w, "active", G_SETTINGS_BIND_DEFAULT);
+  sw = WID ("typing_keyboard_toggle_switch");
+  g_settings_bind (priv->kb_settings, KEY_KEYBOARD_TOGGLE,
+                   sw, "active",
+                   G_SETTINGS_BIND_DEFAULT);
 
   /* sticky keys */
-  w = WID (priv->builder, "typing_sticky_keys_switch");
-  settings_on_off_editor_new (priv, priv->kb_settings, "stickykeys-enable", w, sticky_keys_section);
+  sw = WID ("typing_stickykeys_switch");
+  g_settings_bind (priv->kb_settings, KEY_STICKYKEYS_ENABLED,
+                   sw, "active",
+                   G_SETTINGS_BIND_DEFAULT);
 
-  w = WID (priv->builder, "typing_sticky_keys_disable_two_keys_checkbutton");
-  g_settings_bind (priv->kb_settings, "stickykeys-two-key-off", w, "active", G_SETTINGS_BIND_NO_SENSITIVITY);
+  w = WID ("typing_stickykeys_disable_two_keys_check");
+  g_settings_bind (priv->kb_settings, KEY_STICKYKEYS_TWO_KEY_OFF,
+                   w, "active",
+                   G_SETTINGS_BIND_NO_SENSITIVITY);
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
-  w = WID (priv->builder, "typing_sticky_keys_beep_modifier_checkbutton");
-  g_settings_bind (priv->kb_settings, "stickykeys-modifier-beep", w, "active", 
G_SETTINGS_BIND_NO_SENSITIVITY);
+  w = WID ("typing_stickykeys_beep_modifier_check");
+  g_settings_bind (priv->kb_settings, KEY_STICKYKEYS_MODIFIER_BEEP,
+                   w, "active",
+                   G_SETTINGS_BIND_NO_SENSITIVITY);
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
   /* slow keys */
-  w = WID (priv->builder, "typing_slow_keys_switch");
-  settings_on_off_editor_new (priv, priv->kb_settings, "slowkeys-enable", w, slow_keys_section);
+  sw = WID ("typing_slowkeys_switch");
+  g_settings_bind (priv->kb_settings, KEY_SLOWKEYS_ENABLED,
+                   sw, "active",
+                   G_SETTINGS_BIND_DEFAULT);
 
-  w = WID (priv->builder, "typing_slowkeys_delay_scale");
-  g_settings_bind (priv->kb_settings, "slowkeys-delay",
+  w = WID ("typing_slowkeys_delay_scale");
+  g_settings_bind (priv->kb_settings, KEY_SLOWKEYS_DELAY,
                    gtk_range_get_adjustment (GTK_RANGE (w)), "value",
                    G_SETTINGS_BIND_DEFAULT);
+  w = WID ("typing_slowkeys_delay_box");
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
-  w = WID (priv->builder, "typing_slow_keys_beep_pressed_checkbutton");
-  g_settings_bind (priv->kb_settings, "slowkeys-beep-press", w, "active", G_SETTINGS_BIND_DEFAULT);
+  w = WID ("typing_slowkeys_beep_pressed_check");
+  g_settings_bind (priv->kb_settings, KEY_SLOWKEYS_BEEP_PRESS,
+                   w, "active",
+                   G_SETTINGS_BIND_DEFAULT);
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
-  w = WID (priv->builder, "typing_slow_keys_beep_accepted_checkbutton");
-  g_settings_bind (priv->kb_settings, "slowkeys-beep-accept", w, "active", G_SETTINGS_BIND_DEFAULT);
+  w = WID ("typing_slowkeys_beep_accepted_check");
+  g_settings_bind (priv->kb_settings, KEY_SLOWKEYS_BEEP_ACCEPT,
+                   w, "active",
+                   G_SETTINGS_BIND_DEFAULT);
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
-  w = WID (priv->builder, "typing_slow_keys_beep_rejected_checkbutton");
-  g_settings_bind (priv->kb_settings, "slowkeys-beep-reject", w, "active", G_SETTINGS_BIND_DEFAULT);
+  w = WID ("typing_slowkeys_beep_rejected_check");
+  g_settings_bind (priv->kb_settings, KEY_SLOWKEYS_BEEP_REJECT,
+                   w, "active",
+                   G_SETTINGS_BIND_DEFAULT);
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
   /* bounce keys */
-  w = WID (priv->builder, "typing_bounce_keys_switch");
-  settings_on_off_editor_new (priv, priv->kb_settings, "bouncekeys-enable", w, bounce_keys_section);
+  sw = WID ("typing_bouncekeys_switch");
+  g_settings_bind (priv->kb_settings, KEY_BOUNCEKEYS_ENABLED,
+                   sw, "active",
+                   G_SETTINGS_BIND_DEFAULT);
 
-  w = WID (priv->builder, "typing_bouncekeys_delay_scale");
-  g_settings_bind (priv->kb_settings, "bouncekeys-delay",
+  w = WID ("typing_bouncekeys_delay_scale");
+  g_settings_bind (priv->kb_settings, KEY_BOUNCEKEYS_DELAY,
                    gtk_range_get_adjustment (GTK_RANGE (w)), "value",
                    G_SETTINGS_BIND_DEFAULT);
+  w = WID ("typing_bouncekeys_delay_box");
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
+
+  w = WID ("typing_bouncekeys_beep_rejected_check");
+  g_settings_bind (priv->kb_settings, KEY_BOUNCEKEYS_BEEP_REJECT,
+                   w, "active",
+                   G_SETTINGS_BIND_NO_SENSITIVITY);
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
+
+  dialog = WID ("typing_dialog");
 
-  w = WID (priv->builder, "typing_bounce_keys_beep_rejected_checkbutton");
-  g_settings_bind (priv->kb_settings, "bouncekeys-beep-reject", w, "active", G_SETTINGS_BIND_NO_SENSITIVITY);
+  g_object_set_data (G_OBJECT (WID ("row_accessx")), "dialog", dialog);
+
+  g_signal_connect_swapped (WID ("typing_done"), "clicked",
+                            G_CALLBACK (gtk_widget_hide), dialog);
+  g_signal_connect (dialog, "delete-event",
+                    G_CALLBACK (gtk_widget_hide_on_delete), NULL);
+  g_signal_connect (WID ("heading_accessx"), "mnemonic-activate",
+                    G_CALLBACK (mnemonic_activate), self);
 }
 
 /* mouse/pointing & clicking section */
-static gboolean
-pointing_mouse_preferences_clicked_cb (GtkButton  *button,
-                                       CcUaPanel  *panel)
+static void
+update_click_assist_label (GSettings *settings, const gchar *key, CcUaPanel *self)
 {
-  CcShell *shell;
+  gboolean on;
 
-  shell = cc_panel_get_shell (CC_PANEL (panel));
-  cc_shell_set_active_panel_from_id (shell, "mouse", NULL, NULL);
+  on = g_settings_get_boolean (settings, KEY_SECONDARY_CLICK_ENABLED) ||
+       g_settings_get_boolean (settings, KEY_DWELL_CLICK_ENABLED);
 
-  return TRUE;
+  gtk_label_set_text (GTK_LABEL (WID ("value_click_assist")), on ? _("On") : _("Off"));
 }
 
+
 static void
 cc_ua_panel_init_mouse (CcUaPanel *self)
 {
   CcUaPanelPrivate *priv = self->priv;
+  GtkWidget *list;
+  GtkWidget *dialog;
+  GtkWidget *sw;
   GtkWidget *w;
 
-  /* mouse keys */
-  w = WID (priv->builder, "pointing_mouse_keys_switch");
-  settings_on_off_editor_new (priv, priv->kb_settings, "mousekeys-enable", w, NULL);
+  list = WID ("list_pointing");
+  add_section (list, self);
+
+  add_separators (GTK_LIST_BOX (list));
+
+  g_signal_connect_swapped (list, "row-activated",
+                            G_CALLBACK (activate_row), self);
+
+  g_settings_bind (priv->kb_settings, KEY_MOUSEKEYS_ENABLED,
+                   WID ("mouse_keys_switch"), "active",
+                   G_SETTINGS_BIND_DEFAULT);
+
+  g_signal_connect (priv->mouse_settings, "changed",
+                    G_CALLBACK (update_click_assist_label), self);
+  update_click_assist_label (priv->mouse_settings, NULL, self);
 
   /* simulated secondary click */
-  w = WID (priv->builder, "pointing_second_click_switch");
-  settings_on_off_editor_new (priv, priv->mouse_settings, "secondary-click-enabled", w, 
secondary_click_section);
+  sw = WID ("pointing_secondary_click_switch");
+  g_settings_bind (priv->mouse_settings, KEY_SECONDARY_CLICK_ENABLED,
+                   sw, "active",
+                   G_SETTINGS_BIND_DEFAULT);
 
-  w = WID (priv->builder, "pointing_secondary_click_delay_scale");
-  g_settings_bind (priv->mouse_settings, "secondary-click-time",
+  w = WID ("pointing_secondary_click_delay_scale");
+  g_settings_bind (priv->mouse_settings, KEY_SECONDARY_CLICK_TIME,
                    gtk_range_get_adjustment (GTK_RANGE (w)), "value",
                    G_SETTINGS_BIND_DEFAULT);
+  w = WID ("pointing_secondary_click_delay_box");
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
   /* dwell click */
-  w = WID (priv->builder, "pointing_hover_click_switch");
-  settings_on_off_editor_new (priv, priv->mouse_settings, "dwell-click-enabled", w, dwell_click_section);
+  sw = WID ("pointing_hover_click_switch");
+  g_settings_bind (priv->mouse_settings, KEY_DWELL_CLICK_ENABLED,
+                   sw, "active",
+                   G_SETTINGS_BIND_DEFAULT);
 
-  w = WID (priv->builder, "pointing_dwell_delay_scale");
-  g_settings_bind (priv->mouse_settings, "dwell-time",
+  w = WID ("pointing_dwell_delay_scale");
+  g_settings_bind (priv->mouse_settings, KEY_DWELL_TIME,
                    gtk_range_get_adjustment (GTK_RANGE (w)), "value",
                    G_SETTINGS_BIND_DEFAULT);
+  w = WID ("pointing_dwell_delay_box");
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
 
-  w = WID (priv->builder, "pointing_dwell_threshold_scale");
-  g_settings_bind (priv->mouse_settings, "dwell-threshold",
+  w = WID ("pointing_dwell_threshold_scale");
+  g_settings_bind (priv->mouse_settings, KEY_DWELL_THRESHOLD,
                    gtk_range_get_adjustment (GTK_RANGE (w)), "value",
                    G_SETTINGS_BIND_DEFAULT);
+  w = WID ("pointing_dwell_threshold_box");
+  g_object_bind_property (sw, "active", w, "sensitive", G_BINDING_SYNC_CREATE);
+
+  dialog = WID ("pointing_dialog");
+
+  g_object_set_data (G_OBJECT (WID ("row_click_assist")), "dialog", dialog);
 
-  /* mouse preferences button */
-  g_signal_connect (WID (priv->builder, "pointing_mouse_preferences_link"),
-                    "activate-link",
-                    G_CALLBACK (pointing_mouse_preferences_clicked_cb), self);
+  g_signal_connect_swapped (WID ("pointing_done"), "clicked",
+                            G_CALLBACK (gtk_widget_hide), dialog);
+  g_signal_connect (dialog, "delete-event",
+                    G_CALLBACK (gtk_widget_hide_on_delete), NULL);
+  g_signal_connect (WID ("heading_click_assist"), "mnemonic-activate",
+                    G_CALLBACK (mnemonic_activate), self);
+}
+
+static void
+on_content_size_changed (GtkWidget *content, GtkAllocation *allocation, GtkWidget *panel)
+{
+  if (allocation->height < SCROLL_HEIGHT)
+    {
+      gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (panel),
+                                      GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+    }
+  else
+    {
+      gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (panel),
+                                      GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+      gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (panel), SCROLL_HEIGHT);
+    }
 }
 
 static void
 cc_ua_panel_init (CcUaPanel *self)
 {
   CcUaPanelPrivate *priv;
-  GtkWidget *widget;
-  GError *err = NULL;
-  gchar *objects[] = { "universal_access_box", "contrast_model",
-                       "text_size_model", "slowkeys_delay_adjustment",
-                       "bouncekeys_delay_adjustment", "click_delay_adjustment",
-                       "dwell_time_adjustment", "dwell_threshold_adjustment",
-                       "seeing_sizegroup", "typing_sizegroup",
-                       "pointing_sizegroup", "pointing_sizegroup2",
-                       "pointing_scale_sizegroup", "sizegroup1",
-                       "hearing_sizegroup",
-                       NULL };
-
-  priv = self->priv = UA_PANEL_PRIVATE (self);
-  g_resources_register (cc_universal_access_get_resource ());
-
-  priv->builder = gtk_builder_new ();
+  GtkWidget *panel;
+  GtkWidget *content;
 
-  gtk_builder_add_objects_from_resource (priv->builder,
-                                         "/org/gnome/control-center/universal-access/uap.ui",
-                                         objects,
-                                         &err);
+  priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
+                                                   CC_TYPE_UA_PANEL,
+                                                   CcUaPanelPrivate);
 
-  if (err)
-    {
-      g_warning ("Could not load interface file: %s", err->message);
-      g_error_free (err);
+  g_resources_register (cc_universal_access_get_resource ());
 
-      g_object_unref (priv->builder);
-      priv->builder = NULL;
+  priv->interface_settings = g_settings_new (INTERFACE_SETTINGS);
+  priv->a11y_settings = g_settings_new (A11Y_SETTINGS);
+  priv->wm_settings = g_settings_new (WM_SETTINGS);
+  priv->kb_settings = g_settings_new (KEYBOARD_SETTINGS);
+  priv->mouse_settings = g_settings_new (MOUSE_SETTINGS);
+  priv->application_settings = g_settings_new (APPLICATION_SETTINGS);
 
-      return;
-    }
+  priv->builder = gtk_builder_new ();
+  gtk_builder_add_from_resource (priv->builder,
 
-  priv->interface_settings = g_settings_new ("org.gnome.desktop.interface");
-  priv->wm_settings = g_settings_new ("org.gnome.desktop.wm.preferences");
-  priv->kb_settings = g_settings_new ("org.gnome.desktop.a11y.keyboard");
-  priv->mouse_settings = g_settings_new ("org.gnome.desktop.a11y.mouse");
-  priv->application_settings = g_settings_new ("org.gnome.desktop.a11y.applications");
-  priv->mediakeys_settings = g_settings_new ("org.gnome.settings-daemon.plugins.media-keys");
+                                 "/org/gnome/control-center/universal-access/uap.ui",
+                                 NULL);
 
+  cc_ua_panel_init_status (self);
+  cc_ua_panel_init_seeing (self);
+  cc_ua_panel_init_hearing (self);
   cc_ua_panel_init_keyboard (self);
   cc_ua_panel_init_mouse (self);
-  cc_ua_panel_init_hearing (self);
-  cc_ua_panel_init_seeing (self);
 
-  widget = (GtkWidget*) gtk_builder_get_object (priv->builder,
-                                                "universal_access_box");
+  panel = WID ("universal_access_panel");
+  content = WID ("universal_access_content");
+
+  g_signal_connect (content, "size-allocate",
+                    G_CALLBACK (on_content_size_changed), panel);
+
+  priv->focus_adjustment = gtk_scrolled_window_get_vadjustment (GTK_SCROLLED_WINDOW (panel));
+  gtk_container_set_focus_vadjustment (GTK_CONTAINER (content), priv->focus_adjustment);
 
-  gtk_container_add (GTK_CONTAINER (self), widget);
+  gtk_widget_reparent (panel, GTK_WIDGET (self));
 }
diff --git a/panels/universal-access/uap.ui b/panels/universal-access/uap.ui
index 0e75b36..8892c67 100644
--- a/panels/universal-access/uap.ui
+++ b/panels/universal-access/uap.ui
@@ -1,1988 +1,2154 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <interface>
   <!-- interface-requires gtk+ 3.0 -->
-  <object class="GtkAdjustment" id="bouncekeys_delay_adjustment">
-    <property name="upper">900</property>
-    <property name="value">0.5</property>
-    <property name="step_increment">10</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="click_delay_adjustment">
-    <property name="lower">0.5</property>
-    <property name="upper">3</property>
-    <property name="value">1.2</property>
-    <property name="step_increment">0.10000000000000001</property>
-    <property name="page_increment">0.10000000000000001</property>
-  </object>
-  <object class="GtkListStore" id="contrast_model">
-    <columns>
-      <!-- column-name contrasts -->
-      <column type="gchararray"/>
-      <!-- column-name scale -->
-      <column type="gdouble"/>
-      <!-- column-name themename -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes" context="universal access, contrast">Low</col>
-        <col id="1">1.25</col>
-        <col id="2">LowContrast</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes" context="universal access, contrast">Normal</col>
-        <col id="1">1.25</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes" context="universal access, contrast">High</col>
-        <col id="1">1.25</col>
-        <col id="2">HighContrast</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes" context="universal access, contrast">High/Inverse</col>
-        <col id="1">1.25</col>
-        <col id="2">HighContrastInverse</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkAdjustment" id="dwell_threshold_adjustment">
-    <property name="upper">30</property>
-    <property name="value">15</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="dwell_time_adjustment">
-    <property name="lower">0.20000000000000001</property>
-    <property name="upper">3</property>
-    <property name="value">1.2</property>
-    <property name="step_increment">0.10000000000000001</property>
-    <property name="page_increment">0.10000000000000001</property>
-  </object>
-  <object class="GtkListStore" id="osk_model">
-    <columns>
-      <!-- column-name osks -->
-      <column type="gchararray"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">On screen keyboard</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">GOK</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">OnBoard</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">None</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkAdjustment" id="repeat_delay_adjustment">
-    <property name="lower">100</property>
-    <property name="upper">2000</property>
-    <property name="value">500</property>
-    <property name="step_increment">10</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="repeat_rate_adjustment">
-    <property name="lower">10</property>
-    <property name="upper">110</property>
-    <property name="value">30</property>
-    <property name="step_increment">10</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="slowkeys_delay_adjustment">
-    <property name="upper">500</property>
-    <property name="value">0.5</property>
-    <property name="step_increment">10</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkListStore" id="text_size_model">
-    <columns>
-      <!-- column-name text_sizes -->
-      <column type="gchararray"/>
-      <!-- column-name text_sizes_markup -->
-      <column type="gchararray"/>
-      <!-- column-name text_scale -->
-      <column type="gfloat"/>
-      <!-- column-name calculated_text_scale -->
-      <column type="gfloat"/>
-    </columns>
-    <data>
-      <row>
-        <col id="0" translatable="yes">75%</col>
-        <col id="1" translatable="yes" context="universal access, text size">Small</col>
-        <col id="2">0.75</col>
-        <col id="3">0.75</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">100%</col>
-        <col id="1" translatable="yes" context="universal access, text size">Normal</col>
-        <col id="2">1</col>
-        <col id="3">1</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">125%</col>
-        <col id="1" translatable="yes" context="universal access, text size">Large</col>
-        <col id="2">1.25</col>
-        <col id="3">1.25</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">150%</col>
-        <col id="1" translatable="yes" context="universal access, text size">Larger</col>
-        <col id="2">1.5</col>
-        <col id="3">1.5</col>
-      </row>
-    </data>
-  </object>
-  <object class="GtkWindow" id="universal_access_settings_window">
+  <object class="GtkWindow" id="window1">
     <property name="can_focus">False</property>
     <child>
-      <object class="GtkVBox" id="universal_access_box">
+      <object class="GtkScrolledWindow" id="universal_access_panel">
         <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <property name="spacing">5</property>
+        <property name="can_focus">True</property>
+        <property name="hscrollbar_policy">never</property>
+        <property name="shadow_type">none</property>
         <child>
-          <object class="GtkNotebook" id="notebook">
+          <object class="GtkViewport" id="viewport1">
             <property name="visible">True</property>
-            <property name="can_focus">True</property>
-            <property name="border-width">16</property>
+            <property name="can_focus">False</property>
             <child>
-              <object class="GtkVBox" id="seeing_vbox">
+              <object class="GtkBox" id="universal_access_content">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">12</property>
-                <property name="spacing">12</property>
+                <property name="margin_left">50</property>
+                <property name="margin_right">50</property>
+                <property name="margin_top">24</property>
+                <property name="margin_bottom">24</property>
+                <property name="orientation">vertical</property>
                 <child>
-                  <object class="GtkGrid" id="grid2">
+                  <object class="GtkBox" id="section_status">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="orientation">vertical</property>
-                    <property name="row_spacing">18</property>
-                    <property name="column_spacing">24</property>
+                    <property name="margin_bottom">24</property>
                     <child>
-                      <object class="GtkBox" id="box3">
+                      <object class="GtkLabel" id="heading_status">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkBox" id="box12">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="typing_sticky_label5">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">High Contrast</property>
-                                <property name="mnemonic_widget">seeing_contrast_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <placeholder/>
-                        </child>
+                        <property name="label" translatable="yes">Show Status When _Inactive</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">switch_status</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSwitch" id="seeing_contrast_switch">
-                        <property name="use_action_appearance">False</property>
+                      <object class="GtkSwitch" id="switch_status">
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">True</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="section_seeing">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_bottom">24</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkLabel" id="typing_sticky_label8">
+                      <object class="GtkLabel" id="heading_seeing">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
+                        <property name="margin_left">6</property>
+                        <property name="margin_right">6</property>
+                        <property name="margin_bottom">6</property>
                         <property name="xalign">0</property>
-                        <property name="label" translatable="yes">Beep on Caps and Num Lock</property>
-                        <property name="mnemonic_widget">seeing_toggle_keys_switch</property>
+                        <property name="label" translatable="yes">Seeing</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">4</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSwitch" id="seeing_toggle_keys_switch">
-                        <property name="use_action_appearance">False</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">4</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkBox" id="box21">
+                      <object class="GtkFrame" id="frame_seeing">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="label_xalign">0</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkSwitch" id="seeing_reader_switch">
-                            <property name="use_action_appearance">False</property>
+                          <object class="GtkListBox" id="list_seeing">
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
-                            <property name="halign">end</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="seeing_reader_preferences_button">
-                            <property name="use_action_appearance">False</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="halign">end</property>
-                            <property name="use_underline">True</property>
-                            <child>
-                              <object class="GtkLabel" id="seeing_speech_preferences_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Options…</property>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">3</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="box17">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkBox" id="box18">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="selection-mode">none</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label7">
+                              <object class="GtkListBoxRow" id="row_highcontrast">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Screen Reader</property>
-                                <property name="mnemonic_widget">seeing_reader_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box19">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkHBox" id="hbox11">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object class="GtkLabel" id="label9">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Turn on or off:</property>
-                                    <attributes>
-                                      <attribute name="scale" value="1"/>
-                                    </attributes>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
                                 <child>
-                                  <object class="GtkLabel" id="seeing_reader_enable_keybinding_label">
+                                  <object class="GtkBox" id="box_highcontrast">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label">Ctrl+Alt+4</property>
-                                    <attributes>
-                                      <attribute name="scale" value="1"/>
-                                    </attributes>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_highcontrast">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_High Contrast</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">value_highcontrast</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkSwitch" id="value_highcontrast">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">3</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="zoom_label_box">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkBox" id="box15">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label6">
+                              <object class="GtkListBoxRow" id="row_large_text">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes" context="universal access, 
zoom">Zoom</property>
-                                <property name="mnemonic_widget">seeing_zoom_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
+                                <child>
+                                  <object class="GtkBox" id="box_large_text">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_large_text">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Large Text</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkSwitch" id="value_large_text">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box16">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkHBox" id="hbox20">
+                              <object class="GtkListBoxRow" id="row_zoom">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object class="GtkLabel" id="label1">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Turn on or off:</property>
-                                    <attributes>
-                                      <attribute name="scale" value="1"/>
-                                    </attributes>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
                                 <child>
-                                  <object class="GtkLabel" id="seeing_zoom_enable_keybinding_label">
+                                  <object class="GtkBox" id="box_zoom">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label">Ctrl+Alt+8</property>
-                                    <attributes>
-                                      <attribute name="scale" value="1"/>
-                                    </attributes>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_zoom">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Zoom</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="value_zoom">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Off</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="hbox21">
+                              <object class="GtkListBoxRow" id="row_screen_reader">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object class="GtkLabel" id="seeing_zoom_in_label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Zoom in:</property>
-                                    <attributes>
-                                      <attribute name="scale" value="1"/>
-                                    </attributes>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
                                 <child>
-                                  <object class="GtkLabel" id="seeing_zoom_in_keybinding_label">
+                                  <object class="GtkBox" id="box_screen_reader">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label">Ctrl+Alt+=</property>
-                                    <attributes>
-                                      <attribute name="scale" value="1"/>
-                                    </attributes>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_screen_reader">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Screen _Reader</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="value_screen_reader">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Off</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="hbox22">
+                              <object class="GtkListBoxRow" id="row_sound_keys">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object class="GtkLabel" id="seeing_zoom_out_label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Zoom out:</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
                                 <child>
-                                  <object class="GtkLabel" id="seeing_zoom_out_keybinding_label">
+                                  <object class="GtkBox" id="box_sound_keys">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label">Ctrl+Alt+-</property>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_sound_keys">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Sound Keys</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="value_sound_keys">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Off</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
                                   </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
                                 </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">2</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
+                        </child>
+                        <child type="label_item">
+                          <placeholder/>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="section_hearing">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="margin_bottom">24</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="zoom_value_box">
+                      <object class="GtkLabel" id="heading_hearing">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkSwitch" id="seeing_zoom_switch">
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="halign">end</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="seeing_zoom_preferences_button">
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="halign">end</property>
-                            <child>
-                              <object class="GtkLabel" id="seeing_zoom_preferences_label">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="label" translatable="yes">Options…</property>
-                                <attributes>
-                                  <attribute name="scale" value="1"/>
-                                </attributes>
-                              </object>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
+                        <property name="margin_left">6</property>
+                        <property name="margin_right">6</property>
+                        <property name="margin_bottom">6</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Hearing</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkBox" id="box13">
+                      <object class="GtkFrame" id="frame_hearing">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="label_xalign">0</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkBox" id="box22">
+                          <object class="GtkListBox" id="list_hearing">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="can_focus">True</property>
+                            <property name="selection-mode">none</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label9">
+                              <object class="GtkListBoxRow" id="row_visual_alerts">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Large Text</property>
-                                <property name="mnemonic_widget">seeing_large_text_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
+                                <child>
+                                  <object class="GtkBox" id="box_visual_alerts">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_visual_alerts">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Visual Alerts</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="value_visual_alerts">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Off</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
                         </child>
-                        <child>
+                        <child type="label_item">
                           <placeholder/>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSwitch" id="seeing_large_text_switch">
-                        <property name="use_action_appearance">False</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
+                    <property name="expand">False</property>
                     <property name="fill">True</property>
-                    <property name="position">0</property>
+                    <property name="position">2</property>
                   </packing>
                 </child>
-              </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="seeing_tab_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Seeing</property>
-                <attributes>
-                  <attribute name="scale" value="1"/>
-                </attributes>
-              </object>
-              <packing>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="hearing_vbox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">12</property>
-                <property name="spacing">12</property>
                 <child>
-                  <object class="GtkGrid" id="grid3">
+                  <object class="GtkBox" id="section_typing">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="row_spacing">18</property>
-                    <property name="column_spacing">24</property>
+                    <property name="margin_bottom">24</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="box23">
+                      <object class="GtkLabel" id="heading_typing">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="margin_left">6</property>
+                        <property name="margin_right">6</property>
+                        <property name="margin_bottom">6</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Typing</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFrame" id="frame_typing">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label_xalign">0</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkBox" id="box24">
+                          <object class="GtkListBox" id="list_typing">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="can_focus">True</property>
+                            <property name="selection-mode">none</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label10">
+                              <object class="GtkListBoxRow" id="row_screen_keyboard">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Visual Alerts</property>
-                                <property name="mnemonic_widget">hearing_visual_alerts_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
+                                <child>
+                                  <object class="GtkBox" id="box_screen_keyboard">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_screen_keyboard">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Screen _Keyboard</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">screen_keyboard_switch</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkSwitch" id="screen_keyboard_switch">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel" id="label31">
+                              <object class="GtkListBoxRow" id="row_accessx">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Use a visual indication when an 
alert sound occurs</property>
+                                <child>
+                                  <object class="GtkBox" id="box_accessx">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_accessx">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Typing Assist 
(AccessX)</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="value_accessx">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Off</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
                         </child>
-                        <child>
-                          <object class="GtkBox" id="box25">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkRadioButton" id="hearing_flash_window_title_button">
-                                <property name="label" translatable="yes">Flash the window title</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="relief">none</property>
-                                <property name="xalign">0</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkRadioButton" id="hearing_flash_screen_button">
-                                <property name="label" translatable="yes">Flash the entire screen</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="xalign">0</property>
-                                <property name="active">True</property>
-                                <property name="draw_indicator">True</property>
-                                <property name="group">hearing_flash_window_title_button</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
+                        <child type="label_item">
+                          <placeholder/>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="section_pointing">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="closed_caption_label_box">
+                      <object class="GtkLabel" id="heading_pointing">
+                        <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="margin_left">6</property>
+                        <property name="margin_right">6</property>
+                        <property name="margin_bottom">6</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Pointing and Clicking</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFrame" id="frame_pointing">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="label_xalign">0</property>
+                        <property name="shadow_type">in</property>
                         <child>
-                          <object class="GtkBox" id="box27">
+                          <object class="GtkListBox" id="list_pointing">
                             <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="can_focus">True</property>
+                            <property name="selection-mode">none</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label11">
+                              <object class="GtkListBoxRow" id="row_mouse_keys">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Closed Captioning</property>
-                                <property name="mnemonic_widget">hearing_captions_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
+                                <child>
+                                  <object class="GtkBox" id="box_mouse_keys">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_mouse_keys">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Mouse Keys</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">mouse_keys_switch</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkSwitch" id="mouse_keys_switch">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel" id="label35">
+                              <object class="GtkListBoxRow" id="row_click_assist">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Display a textual description of 
speech and sounds</property>
+                                <child>
+                                  <object class="GtkBox" id="box_click_assist">
+                                    <property name="visible">True</property>
+                                    <child>
+                                      <object class="GtkLabel" id="heading_click_assist">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">_Click Assist</property>
+                                        <property name="use_underline">True</property>
+                                        <property name="mnemonic_widget">value_click_assist</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">True</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="value_click_assist">
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">False</property>
+                                        <property name="margin_left">20</property>
+                                        <property name="margin_right">20</property>
+                                        <property name="margin_top">6</property>
+                                        <property name="margin_bottom">6</property>
+                                        <property name="xalign">1</property>
+                                        <property name="label" translatable="yes">Off</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">True</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
                               </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
                             </child>
                           </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
                         </child>
-                        <child>
-                          <object class="GtkBox" id="box28">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <placeholder/>
-                            </child>
-                            <child>
-                              <placeholder/>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
+                        <child type="label_item">
+                          <placeholder/>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+  </object>
+  <object class="GtkAdjustment" id="text_scaling_factor_adjustment">
+    <property name="lower">0.5</property>
+    <property name="upper">3</property>
+    <property name="value">1</property>
+    <property name="step_increment">0.1</property>
+  </object>
+  <object class="GtkSizeGroup" id="rows_sizegroup">
+    <property name="mode">vertical</property>
+    <widgets>
+      <widget name="row_highcontrast"/>
+      <widget name="row_large_text"/>
+      <widget name="row_zoom"/>
+      <widget name="row_screen_reader"/>
+      <widget name="row_sound_keys"/>
+      <widget name="row_visual_alerts"/>
+      <widget name="row_screen_keyboard"/>
+      <widget name="row_accessx"/>
+      <widget name="row_mouse_keys"/>
+      <widget name="row_click_assist"/>
+    </widgets>
+  </object>
+  <object class="GtkDialog" id="screen_reader_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Screen Reader</property>
+    <property name="type_hint">dialog</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox2">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkLabel" id="screen_reader_blurb">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_left">12</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">6</property>
+            <property name="xalign">0</property>
+            <property name="max_width_chars">45</property>
+            <property name="label" translatable="yes">The screen reader reads displayed text as you move the 
focus.</property>
+            <property name="wrap">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area2">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="screen_reader_done">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid3">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_left">12</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">12</property>
+            <property name="margin_bottom">12</property>
+            <property name="row_spacing">12</property>
+            <property name="column_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="screen_reader_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Screen Reader</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">screen_reader_switch</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="screen_reader_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-5">screen_reader_done</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="sound_keys_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Sound Keys</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox3">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkLabel" id="sound_keys_blurb">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_left">12</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">6</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Beep when Num Lock or Caps Lock are turned 
on.</property>
+            <property name="wrap">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area3">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="sound_keys_done">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid4">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_left">12</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">12</property>
+            <property name="margin_bottom">12</property>
+            <property name="row_spacing">12</property>
+            <property name="column_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="sound_keys_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Sound Keys</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">sound_keys_switch</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="sound_keys_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-5">sound_keys_done</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="visual_alerts_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Visual Alerts</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox4">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child>
+          <object class="GtkLabel" id="visual_alerts_blurb">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_left">12</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">6</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Use a visual indication when an alert sound 
occurs.</property>
+            <property name="wrap">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area4">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="visual_alerts_test_button">
+                <property name="label" translatable="yes">_Test flash</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+                <property name="secondary">True</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="visual_alerts_done">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid5">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_left">12</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">12</property>
+            <property name="margin_bottom">12</property>
+            <property name="row_spacing">12</property>
+            <property name="column_spacing">6</property>
+            <child>
+              <object class="GtkLabel" id="visual_alerts_label">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="hexpand">True</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Visual Alerts</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">visual_alerts_switch</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="visual_alerts_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="visual_alerts_window_radio">
+                <property name="label" translatable="yes">Flash the _window title</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="xalign">0</property>
+                <property name="active">True</property>
+                <property name="draw_indicator">True</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">2</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkRadioButton" id="visual_alerts_screen_radio">
+                <property name="label" translatable="yes">Flash the entire _screen</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">False</property>
+                <property name="xalign">0</property>
+                <property name="active">True</property>
+                <property name="draw_indicator">True</property>
+                <property name="group">visual_alerts_window_radio</property>
+                <property name="use_underline">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+                <property name="width">2</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="0">visual_alerts_test_button</action-widget>
+      <action-widget response="-5">visual_alerts_done</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="typing_bouncekeys_delay_adjustment">
+    <property name="upper">900</property>
+    <property name="value">0.5</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkAdjustment" id="typing_slowkeys_delay_adjustment">
+    <property name="upper">500</property>
+    <property name="value">0.5</property>
+    <property name="step_increment">10</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkDialog" id="typing_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Typing Assist</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox5">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area5">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="typing_done">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_underline">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid6">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="valign">start</property>
+            <property name="margin_left">12</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">6</property>
+            <property name="margin_bottom">12</property>
+            <property name="orientation">vertical</property>
+            <property name="row_spacing">18</property>
+            <property name="column_spacing">24</property>
+            <child>
+              <object class="GtkBox" id="box6">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkBox" id="box7">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkSwitch" id="hearing_captions_switch">
-                        <property name="use_action_appearance">False</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
+                      <object class="GtkLabel" id="typing_stickykeys_label">
+                        <property name="visible">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Sticky Keys</property>
+                        <property name="mnemonic_widget">typing_stickykeys_switch</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkBox" id="box32">
+                      <object class="GtkLabel" id="typing_sticky_blurb">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkSwitch" id="hearing_visual_alerts_switch">
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="hearing_test_flash_button">
-                            <property name="label" translatable="yes">_Test flash</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                            <property name="use_underline">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Treats a sequence of modifier keys as a 
key combination</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
+                    <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
                 <child>
-                  <object class="GtkHBox" id="hbox5">
+                  <object class="GtkBox" id="box8">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="halign">end</property>
+                    <property name="valign">start</property>
+                    <property name="margin_left">10</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkLinkButton" id="hearing_sound_preferences_link">
-                        <property name="label" translatable="yes">Sound Settings</property>
-                        <property name="use_action_appearance">False</property>
+                      <object class="GtkCheckButton" id="typing_stickykeys_disable_two_keys_check">
+                        <property name="label" translatable="yes">_Disable if two keys are pressed 
together</property>
                         <property name="visible">True</property>
+                        <property name="sensitive">False</property>
                         <property name="can_focus">True</property>
-                        <property name="receives_default">True</property>
-                        <property name="has_tooltip">False</property>
-                        <property name="relief">none</property>
+                        <property name="receives_default">False</property>
+                        <property name="valign">start</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
                       </object>
                       <packing>
-                        <property name="expand">True</property>
+                        <property name="expand">False</property>
                         <property name="fill">True</property>
                         <property name="position">0</property>
                       </packing>
                     </child>
+                    <child>
+                      <object class="GtkCheckButton" id="typing_stickykeys_beep_modifier_check">
+                        <property name="label" translatable="yes">Beep when a _modifer key is 
pressed</property>
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="valign">start</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="pack_type">end</property>
+                    <property name="fill">True</property>
                     <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="hearing_tab_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Hearing</property>
-              </object>
-              <packing>
-                <property name="position">1</property>
-                <property name="tab_fill">False</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
             <child>
-              <object class="GtkVBox" id="typing_vbox">
+              <object class="GtkBox" id="box9">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
-                <property name="border_width">12</property>
-                <property name="spacing">24</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
                 <child>
-                  <object class="GtkGrid" id="grid1">
+                  <object class="GtkBox" id="box10">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="valign">start</property>
                     <property name="orientation">vertical</property>
-                    <property name="row_spacing">18</property>
-                    <property name="column_spacing">24</property>
                     <child>
-                      <object class="GtkLabel" id="typing_assistant_label">
+                      <object class="GtkLabel" id="typing_slowkeys_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
                         <property name="xalign">0</property>
-                        <property name="label" translatable="yes">On Screen Keyboard</property>
-                        <property name="mnemonic_widget">typing_assistant_switch</property>
+                        <property name="use_underline">True</property>
+                        <property name="label" translatable="yes">S_low Keys</property>
+                        <property name="mnemonic_widget">typing_slowkeys_switch</property>
                         <attributes>
                           <attribute name="weight" value="bold"/>
                         </attributes>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkBox" id="box1">
+                      <object class="GtkLabel" id="typing_slowkeys_blurb">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkBox" id="box2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="typing_sticky_label1">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Sticky Keys</property>
-                                <property name="mnemonic_widget">typing_sticky_keys_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label4">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Treats a sequence of modifier keys 
as a key combination</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box4">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkCheckButton" 
id="typing_sticky_keys_disable_two_keys_checkbutton">
-                                <property name="label" translatable="yes">_Disable if two keys are pressed 
together</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="valign">start</property>
-                                <property name="use_underline">True</property>
-                                <property name="xalign">0</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" 
id="typing_sticky_keys_beep_modifier_checkbutton">
-                                <property name="label" translatable="yes">Beep when a _modifer key is 
pressed</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="valign">start</property>
-                                <property name="use_underline">True</property>
-                                <property name="xalign">0</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Puts a delay between when a key is pressed 
and when it is accepted</property>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="box11">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">start</property>
+                    <property name="margin_left">10</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="box5">
+                      <object class="GtkHBox" id="typing_slowkeys_delay_box">
                         <property name="visible">True</property>
+                        <property name="sensitive">True</property>
                         <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="spacing">12</property>
                         <child>
-                          <object class="GtkBox" id="box6">
+                          <object class="GtkLabel" id="typing_slowkeys_delay_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkLabel" id="typing_sticky_label2">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Slow Keys</property>
-                                <property name="mnemonic_widget">typing_slow_keys_switch</property>
-                                <attributes>
-                                  <attribute name="weight" value="bold"/>
-                                </attributes>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label24">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Puts a delay between when a key is 
pressed and when it is accepted</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">A_cceptance delay:</property>
+                            <property name="use_underline">True</property>
+                            <property name="justify">center</property>
+                            <property name="mnemonic_widget">typing_slowkeys_delay_scale</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">True</property>
+                            <property name="fill">False</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkBox" id="box7">
+                          <object class="GtkHBox" id="hbox42">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
+                            <property name="spacing">6</property>
                             <child>
-                              <object class="GtkHBox" id="typing_slowkeys_delay_box">
+                              <object class="GtkLabel" id="typing_slow_keys_slow_label">
                                 <property name="visible">True</property>
-                                <property name="sensitive">False</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
-                                <child>
-                                  <object class="GtkLabel" id="typing_slowkeys_delay_label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">A_cceptance delay:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="justify">center</property>
-                                    <property name="mnemonic_widget">typing_slowkeys_delay_scale</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkHBox" id="hbox42">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="typing_slowkeys_slow_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="xpad">10</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Short</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkHScale" id="typing_slowkeys_delay_scale">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">slowkeys_delay_adjustment</property>
-                                        <property name="draw_value">False</property>
-                                        <child internal-child="accessible">
-                                          <object class="AtkObject" 
id="typing_slowkeys_delay_scale-atkobject">
-                                            <property name="AtkObject::accessible-description" 
translatable="yes">Slow keys typing delay</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="typing_slowkeys_long_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Long</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
+                                <property name="xalign">1</property>
+                                <property name="xpad">10</property>
+                                <property name="label" translatable="yes" context="slow keys 
delay">Short</property>
+                                <attributes>
+                                  <attribute name="scale" value="0.83"/>
+                                </attributes>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">True</property>
+                                <property name="fill">False</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkHBox" id="typing_slow_keys_beeb_box">
+                              <object class="GtkHScale" id="typing_slowkeys_delay_scale">
                                 <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">6</property>
-                                <child>
-                                  <object class="GtkLabel" id="label26">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="label" translatable="yes" comments="This string is part 
of a line of checkboxes: Beep when a key is [ ] pressed  [ ] accepted  [ ] rejected">Beep when a key 
is</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" 
id="typing_slow_keys_beep_pressed_checkbutton">
-                                    <property name="label" translatable="yes" comments="This completes the 
sentence &quot;Beep when a key is&quot;">pressed</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" 
id="typing_slow_keys_beep_accepted_checkbutton">
-                                    <property name="label" translatable="yes" comments="This completes the 
sentence &quot;Beep when a key is&quot;">accepted</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="active">True</property>
-                                    <property name="draw_indicator">True</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">2</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkCheckButton" 
id="typing_slow_keys_beep_rejected_checkbutton">
-                                    <property name="label" translatable="yes" comments="This completes the 
sentence &quot;Beep when a key is&quot;">rejected</property>
-                                    <property name="use_action_appearance">False</property>
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
-                                    <property name="receives_default">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="draw_indicator">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">typing_slowkeys_delay_adjustment</property>
+                                <property name="draw_value">False</property>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="typing_slowkeys_delay_scale-atkobject">
+                                    <property name="AtkObject::accessible-description" 
translatable="yes">Slow keys typing delay</property>
                                   </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">3</property>
-                                  </packing>
                                 </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
+                                <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="box8">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkBox" id="box9">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label3">
+                              <object class="GtkLabel" id="typing_slowkeys_long_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Bounce Keys</property>
-                                <property name="mnemonic_widget">typing_bounce_keys_switch</property>
+                                <property name="label" translatable="yes" context="slow keys 
delay">Long</property>
                                 <attributes>
-                                  <attribute name="weight" value="bold"/>
+                                  <attribute name="scale" value="0.83"/>
                                 </attributes>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkLabel" id="label27">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Ignores fast duplicate 
keypresses</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
-                              </packing>
-                            </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box10">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkHBox" id="typing_bouncekeys_delay_box">
-                                <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
-                                <child>
-                                  <object class="GtkLabel" id="typing_bouncekeys_delay_label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Acc_eptance delay:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="justify">center</property>
-                                    <property name="mnemonic_widget">typing_bouncekeys_delay_scale</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkHBox" id="hbox44">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="typing_bouncekeys_short_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="xpad">10</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Short</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkHScale" id="typing_bouncekeys_delay_scale">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">bouncekeys_delay_adjustment</property>
-                                        <property name="draw_value">False</property>
-                                        <child internal-child="accessible">
-                                          <object class="AtkObject" 
id="typing_bouncekeys_delay_scale-atkobject">
-                                            <property name="AtkObject::accessible-description" 
translatable="yes">Bounce keys typing delay</property>
-                                          </object>
-                                        </child>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="typing_bouncekeys_long_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Long</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
-                            <child>
-                              <object class="GtkCheckButton" 
id="typing_bounce_keys_beep_rejected_checkbutton">
-                                <property name="label" translatable="yes">Beep when a key is 
_rejected</property>
-                                <property name="use_action_appearance">False</property>
-                                <property name="visible">True</property>
-                                <property name="sensitive">False</property>
-                                <property name="can_focus">True</property>
-                                <property name="receives_default">False</property>
-                                <property name="use_underline">True</property>
-                                <property name="xalign">0</property>
-                                <property name="draw_indicator">True</property>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
-                            <property name="expand">False</property>
+                            <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">3</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="box11">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <child>
-                          <object class="GtkLabel" id="typing_sticky_label4">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Enable by Keyboard</property>
-                            <property name="mnemonic_widget">typing_keyboard_toggle_switch</property>
-                            <attributes>
-                              <attribute name="weight" value="bold"/>
-                            </attributes>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkLabel" id="label2">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="xalign">0</property>
-                            <property name="label" translatable="yes">Turn accessibility features on and off 
using the keyboard</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">4</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSwitch" id="typing_assistant_switch">
-                        <property name="use_action_appearance">False</property>
+                      <object class="GtkCheckButton" id="typing_slowkeys_beep_pressed_check">
+                        <property name="label" translatable="yes">Beep when a key is pr_essed</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="hexpand">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="xalign">0</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
+                        <property name="use_underline">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSwitch" id="typing_sticky_keys_switch">
-                        <property name="use_action_appearance">False</property>
+                      <object class="GtkCheckButton" id="typing_slowkeys_beep_accepted_check">
+                        <property name="label" translatable="yes">Beep when a key is _accepted</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="xalign">0</property>
+                        <property name="active">True</property>
+                        <property name="draw_indicator">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">2</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSwitch" id="typing_slow_keys_switch">
-                        <property name="use_action_appearance">False</property>
+                      <object class="GtkCheckButton" id="typing_slowkeys_beep_rejected_check">
+                        <property name="label" translatable="yes">Beep when a key is _rejected</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">3</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="box12">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkBox" id="box13">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkSwitch" id="typing_bounce_keys_switch">
-                        <property name="use_action_appearance">False</property>
+                      <object class="GtkLabel" id="typing_bouncekeys_label">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
+                        <property name="use_underline">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Bounce Keys</property>
+                        <property name="mnemonic_widget">typing_bouncekeys_switch</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">3</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkSwitch" id="typing_keyboard_toggle_switch">
-                        <property name="use_action_appearance">False</property>
+                      <object class="GtkLabel" id="typing_bouncekeys_blurb">
                         <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Ignores fast duplicate 
keypresses</property>
                       </object>
                       <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">4</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
-                    <property name="expand">True</property>
+                    <property name="expand">False</property>
                     <property name="fill">True</property>
                     <property name="position">0</property>
                   </packing>
                 </child>
-              </object>
-              <packing>
-                <property name="position">2</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child type="tab">
-              <object class="GtkLabel" id="typing_tab_label">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Typing</property>
-              </object>
-              <packing>
-                <property name="position">2</property>
-                <property name="tab_fill">False</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkVBox" id="pointing_and_clicking_vbox">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">12</property>
-                <property name="spacing">12</property>
                 <child>
-                  <object class="GtkGrid" id="grid4">
+                  <object class="GtkBox" id="box14">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="row_spacing">18</property>
-                    <property name="column_spacing">24</property>
+                    <property name="valign">start</property>
+                    <property name="margin_left">10</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="box29">
+                      <object class="GtkHBox" id="typing_bouncekeys_delay_box">
                         <property name="visible">True</property>
+                        <property name="sensitive">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="spacing">12</property>
                         <child>
-                          <object class="GtkBox" id="box30">
+                          <object class="GtkLabel" id="typing_bouncekeys_delay_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">A_cceptance delay:</property>
+                            <property name="use_underline">True</property>
+                            <property name="justify">center</property>
+                            <property name="mnemonic_widget">typing_bouncekeys_delay_scale</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkHBox" id="hbox44">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="spacing">6</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label12">
+                              <object class="GtkLabel" id="typing_bouncekeys_short_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Mouse Keys</property>
-                                <property name="mnemonic_widget">pointing_mouse_keys_switch</property>
+                                <property name="xalign">1</property>
+                                <property name="xpad">10</property>
+                                <property name="label" translatable="yes" context="bounce keys 
delay">Short</property>
                                 <attributes>
-                                  <attribute name="weight" value="bold"/>
+                                  <attribute name="scale" value="0.83"/>
                                 </attributes>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">True</property>
+                                <property name="fill">False</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel" id="pointing_mouse_keys_desc_label">
+                              <object class="GtkHScale" id="typing_bouncekeys_delay_scale">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Control the pointer using the 
keypad</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">typing_bouncekeys_delay_adjustment</property>
+                                <property name="draw_value">False</property>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="typing_bouncekeys_delay_scale-atkobject">
+                                    <property name="AtkObject::accessible-description" 
translatable="yes">Bounce keys typing delay</property>
+                                  </object>
+                                </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
+                                <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box31">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <placeholder/>
-                            </child>
                             <child>
-                              <placeholder/>
+                              <object class="GtkLabel" id="typing_bouncekeys_long_label">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" context="bounce keys 
delay">Long</property>
+                                <attributes>
+                                  <attribute name="scale" value="0.83"/>
+                                </attributes>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
                             </child>
                           </object>
                           <packing>
-                            <property name="expand">False</property>
+                            <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkBox" id="box33">
+                      <object class="GtkCheckButton" id="typing_bouncekeys_beep_rejected_check">
+                        <property name="label" translatable="yes">Beep when a key is _rejected</property>
+                        <property name="visible">True</property>
+                        <property name="sensitive">False</property>
+                        <property name="can_focus">True</property>
+                        <property name="receives_default">False</property>
+                        <property name="use_underline">True</property>
+                        <property name="xalign">0</property>
+                        <property name="draw_indicator">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="typing_stickykeys_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+                <property name="valign">start</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="typing_slowkeys_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+                <property name="valign">start</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">2</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="typing_bouncekeys_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+                <property name="valign">start</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">3</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="box15">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="orientation">vertical</property>
+                <child>
+                  <object class="GtkLabel" id="typing_keyboard_toggle_label">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="use_underline">True</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">_Enable by Keyboard</property>
+                    <property name="mnemonic_widget">typing_keyboard_toggle_switch</property>
+                    <attributes>
+                      <attribute name="weight" value="bold"/>
+                    </attributes>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="typing_keyboard_toggle_blurb">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">Turn accessibility features on and off using 
the keyboard</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="typing_keyboard_toggle_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+                <property name="valign">start</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-5">typing_done</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkAdjustment" id="click_delay_adjustment">
+    <property name="lower">0.5</property>
+    <property name="upper">3</property>
+    <property name="value">1.2</property>
+    <property name="step_increment">0.1</property>
+    <property name="page_increment">0.1</property>
+  </object>
+  <object class="GtkAdjustment" id="dwell_threshold_adjustment">
+    <property name="upper">30</property>
+    <property name="value">15</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="dwell_time_adjustment">
+    <property name="lower">0.2</property>
+    <property name="upper">3</property>
+    <property name="value">1.2</property>
+    <property name="step_increment">0.1</property>
+    <property name="page_increment">0.1</property>
+  </object>
+  <object class="GtkDialog" id="pointing_dialog">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="title" translatable="yes">Click Assist</property>
+    <property name="resizable">False</property>
+    <property name="modal">True</property>
+    <property name="type_hint">dialog</property>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox6">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">0</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area6">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="pointing_done">
+                <property name="label">gtk-close</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkGrid" id="grid7">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="margin_left">6</property>
+            <property name="margin_right">6</property>
+            <property name="margin_top">6</property>
+            <property name="margin_bottom">12</property>
+            <property name="row_spacing">18</property>
+            <property name="column_spacing">24</property>
+            <child>
+              <object class="GtkBox" id="box16">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkBox" id="box17">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <object class="GtkLabel" id="pointing_secondary_click_label">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Simulated Secondary Click</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">pointing_secondary_click_switch</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="pointing_secondary_click_blurb">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Trigger a secondary click by holding down 
the primary button</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="box18">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">start</property>
+                    <property name="margin_left">10</property>
+                    <property name="margin_right">10</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <object class="GtkHBox" id="pointing_secondary_click_delay_box">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="spacing">12</property>
                         <child>
-                          <object class="GtkSwitch" id="pointing_mouse_keys_switch">
-                            <property name="use_action_appearance">False</property>
+                          <object class="GtkLabel" id="pointing_secondary_click_delay_label">
                             <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">A_cceptance delay:</property>
+                            <property name="use_underline">True</property>
+                            <property name="justify">center</property>
+                            <property name="mnemonic_widget">pointing_secondary_click_delay_scale</property>
                           </object>
                           <packing>
                             <property name="expand">False</property>
-                            <property name="fill">True</property>
+                            <property name="fill">False</property>
                             <property name="position">0</property>
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkButton" id="pointing_mouse_keys_settings_button">
-                            <property name="label" translatable="yes">Options…</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">True</property>
-                            <signal name="activate" handler="show_mousekeys_preferences" swapped="no"/>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">0</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="pointing_video_mouse_label_box">
-                        <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkBox" id="box35">
+                          <object class="GtkHBox" id="hbox1">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="spacing">6</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label13">
+                              <object class="GtkLabel" id="pointing_secondary_click_delay_short_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Video Mouse</property>
-                                <property name="mnemonic_widget">pointing_video_mouse_switch</property>
+                                <property name="xalign">1</property>
+                                <property name="label" translatable="yes" context="secondary 
click">Short</property>
                                 <attributes>
-                                  <attribute name="weight" value="bold"/>
+                                  <attribute name="scale" value="0.83"/>
                                 </attributes>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
-                                <property name="fill">True</property>
+                                <property name="fill">False</property>
                                 <property name="position">0</property>
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel" id="pointing_video_mouse_desc_label">
+                              <object class="GtkHScale" id="pointing_secondary_click_delay_scale">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Control the pointer using the 
video camera.</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">click_delay_adjustment</property>
+                                <property name="draw_value">False</property>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" 
id="pointing_secondary_click_delay_scale-atkobject">
+                                    <property name="AtkObject::accessible-description" 
translatable="yes">Secondary click delay</property>
+                                  </object>
+                                </child>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
+                                <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box36">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <placeholder/>
-                            </child>
                             <child>
-                              <placeholder/>
+                              <object class="GtkLabel" id="pointing_secondary_click_delay_long_label">
+                                <property name="visible">True</property>
+                                <property name="can_focus">False</property>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" context="secondary click 
delay">Long</property>
+                                <attributes>
+                                  <attribute name="scale" value="0.83"/>
+                                </attributes>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
                             </child>
                           </object>
                           <packing>
-                            <property name="expand">False</property>
+                            <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="left_attach">0</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkBox" id="box19">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="valign">start</property>
+                <property name="orientation">vertical</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkBox" id="box20">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="orientation">vertical</property>
                     <child>
-                      <object class="GtkBox" id="box37">
+                      <object class="GtkLabel" id="pointing_hover_click_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">_Hover Click</property>
+                        <property name="use_underline">True</property>
+                        <property name="mnemonic_widget">pointing_hover_click_switch</property>
+                        <attributes>
+                          <attribute name="weight" value="bold"/>
+                        </attributes>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkLabel" id="pointing_hover_click_blurb">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="xalign">0</property>
+                        <property name="label" translatable="yes">Trigger a click when the pointer 
hovers</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkBox" id="box21">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="valign">start</property>
+                    <property name="margin_left">10</property>
+                    <property name="margin_right">10</property>
+                    <property name="orientation">vertical</property>
+                    <child>
+                      <object class="GtkHBox" id="pointing_dwell_delay_box">
+                        <property name="visible">True</property>
+                        <property name="can_focus">False</property>
+                        <property name="spacing">12</property>
                         <child>
-                          <object class="GtkBox" id="box38">
+                          <object class="GtkLabel" id="pointing_dwell_delay_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">D_elay:</property>
+                            <property name="use_underline">True</property>
+                            <property name="justify">center</property>
+                            <property name="mnemonic_widget">pointing_dwell_delay_scale</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">True</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkHBox" id="hbox2">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="spacing">6</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label14">
+                              <object class="GtkLabel" id="pointing_dwell_delay_short_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Simulated Secondary 
Click</property>
-                                <property name="mnemonic_widget">pointing_second_click_switch</property>
+                                <property name="xalign">1</property>
+                                <property name="label" translatable="yes" context="dwell click 
delay">Short</property>
+                                <property name="justify">center</property>
                                 <attributes>
-                                  <attribute name="weight" value="bold"/>
+                                  <attribute name="scale" value="0.83"/>
                                 </attributes>
                               </object>
                               <packing>
@@ -1992,163 +2158,86 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel" id="pointing_secondary_click_desc_label">
+                              <object class="GtkHScale" id="pointing_dwell_delay_scale">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Trigger a secondary click by 
holding down the primary button</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">dwell_time_adjustment</property>
+                                <property name="draw_value">False</property>
+                                <property name="value_pos">right</property>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
+                                <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box39">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
                             <child>
-                              <object class="GtkHBox" id="pointing_secondary_click_scale_box">
+                              <object class="GtkLabel" id="pointing_dwell_delay_long_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
-                                <child>
-                                  <object class="GtkLabel" id="pointing_secondary_click_delay_label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">A_cceptance delay:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="justify">center</property>
-                                    <property 
name="mnemonic_widget">pointing_secondary_click_delay_scale</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkHBox" id="hbox1">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" 
id="pointing_secondary_click_delay_short_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="yalign">0.4699999988079071</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Short</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkHScale" id="pointing_secondary_click_delay_scale">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">click_delay_adjustment</property>
-                                        <property name="draw_value">False</property>
-                                        <child internal-child="accessible">
-                                          <object class="AtkObject" 
id="pointing_secondary_click_delay_scale-atkobject">
-                                            <property name="AtkObject::accessible-description" 
translatable="yes">Secondary click delay</property>
-                                          </object>
-                                        </child>
-                                        <signal name="value-changed" handler="integer_changed" swapped="no"/>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" 
id="pointing_secondary_click_delay_long_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Long</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" context="dwell click 
delay">Long</property>
+                                <property name="justify">center</property>
+                                <attributes>
+                                  <attribute name="scale" value="0.83"/>
+                                </attributes>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">0</property>
+                                <property name="position">2</property>
                               </packing>
                             </child>
-                            <child>
-                              <placeholder/>
-                            </child>
                           </object>
                           <packing>
-                            <property name="expand">False</property>
+                            <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
+                        <property name="expand">False</property>
+                        <property name="fill">True</property>
+                        <property name="position">0</property>
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkBox" id="box40">
+                      <object class="GtkHBox" id="pointing_dwell_threshold_box">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="valign">start</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
+                        <property name="spacing">12</property>
                         <child>
-                          <object class="GtkBox" id="box41">
+                          <object class="GtkLabel" id="pointing_dwell_threshold_label">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
-                            <property name="orientation">vertical</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Motion _threshold:</property>
+                            <property name="use_underline">True</property>
+                            <property name="justify">center</property>
+                            <property name="mnemonic_widget">pointing_dwell_threshold_scale</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                            <property name="position">0</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkHBox" id="hbox3">
+                            <property name="visible">True</property>
+                            <property name="can_focus">False</property>
+                            <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | 
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+                            <property name="spacing">6</property>
                             <child>
-                              <object class="GtkLabel" id="typing_sticky_label15">
+                              <object class="GtkLabel" id="pointing_dwell_threshold_small_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Hover Click</property>
-                                <property name="mnemonic_widget">pointing_hover_click_switch</property>
+                                <property name="xalign">1</property>
+                                <property name="label" translatable="yes" context="dwell click 
threshold">Small</property>
+                                <property name="justify">center</property>
                                 <attributes>
-                                  <attribute name="weight" value="bold"/>
+                                  <attribute name="scale" value="0.83"/>
                                 </attributes>
                               </object>
                               <packing>
@@ -2158,420 +2247,113 @@
                               </packing>
                             </child>
                             <child>
-                              <object class="GtkLabel" id="pointing_hover_click_desc_label">
+                              <object class="GtkHScale" id="pointing_dwell_threshold_scale">
                                 <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="xalign">0</property>
-                                <property name="label" translatable="yes">Trigger a click when the pointer 
hovers</property>
+                                <property name="can_focus">True</property>
+                                <property name="adjustment">dwell_threshold_adjustment</property>
+                                <property name="digits">0</property>
+                                <property name="draw_value">False</property>
                               </object>
                               <packing>
-                                <property name="expand">False</property>
+                                <property name="expand">True</property>
                                 <property name="fill">True</property>
                                 <property name="position">1</property>
                               </packing>
                             </child>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkBox" id="box42">
-                            <property name="visible">True</property>
-                            <property name="can_focus">False</property>
-                            <property name="valign">start</property>
-                            <property name="margin_left">10</property>
-                            <property name="orientation">vertical</property>
-                            <child>
-                              <object class="GtkHBox" id="pointing_hover_click_delay_scale_box">
-                                <property name="visible">True</property>
-                                <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
-                                <child>
-                                  <object class="GtkLabel" id="pointing_dwell_delay_label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">D_elay:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="justify">center</property>
-                                    <property name="mnemonic_widget">pointing_dwell_delay_scale</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkHBox" id="hbox2">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="pointing_dwell_delay_short_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Short</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkHScale" id="pointing_dwell_delay_scale">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">dwell_time_adjustment</property>
-                                        <property name="draw_value">False</property>
-                                        <property name="value_pos">right</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="pointing_dwell_delay_long_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
delay">Long</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
-                              </object>
-                              <packing>
-                                <property name="expand">False</property>
-                                <property name="fill">True</property>
-                                <property name="position">0</property>
-                              </packing>
-                            </child>
                             <child>
-                              <object class="GtkHBox" id="pointing_hover_click_threshold_scale_box">
+                              <object class="GtkLabel" id="pointing_dwell_threshold_large_label">
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
-                                <property name="spacing">12</property>
-                                <child>
-                                  <object class="GtkLabel" id="pointing_dwell_threshold_label">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="xalign">0</property>
-                                    <property name="label" translatable="yes">Motion _threshold:</property>
-                                    <property name="use_underline">True</property>
-                                    <property name="justify">center</property>
-                                    <property 
name="mnemonic_widget">pointing_dwell_threshold_scale</property>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">False</property>
-                                    <property name="position">0</property>
-                                  </packing>
-                                </child>
-                                <child>
-                                  <object class="GtkHBox" id="hbox3">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <property name="spacing">6</property>
-                                    <child>
-                                      <object class="GtkLabel" id="pointing_dwell_threshold_small_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">1</property>
-                                        <property name="label" translatable="yes" context="universal access, 
threshold">Small</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkHScale" id="pointing_dwell_threshold_scale">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="adjustment">dwell_threshold_adjustment</property>
-                                        <property name="digits">0</property>
-                                        <property name="draw_value">False</property>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">True</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">1</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <object class="GtkLabel" id="pointing_dwell_threshold_large_label">
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">False</property>
-                                        <property name="xalign">0</property>
-                                        <property name="label" translatable="yes" context="universal access, 
threshold">Large</property>
-                                        <property name="justify">center</property>
-                                        <attributes>
-                                          <attribute name="scale" value="0.82999999999999996"/>
-                                        </attributes>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">True</property>
-                                        <property name="position">2</property>
-                                      </packing>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">True</property>
-                                    <property name="fill">True</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
+                                <property name="xalign">0</property>
+                                <property name="label" translatable="yes" context="dwell click 
threshold">Large</property>
+                                <property name="justify">center</property>
+                                <attributes>
+                                  <attribute name="scale" value="0.83"/>
+                                </attributes>
                               </object>
                               <packing>
                                 <property name="expand">False</property>
                                 <property name="fill">True</property>
-                                <property name="position">1</property>
+                                <property name="position">2</property>
                               </packing>
                             </child>
                           </object>
                           <packing>
-                            <property name="expand">False</property>
+                            <property name="expand">True</property>
                             <property name="fill">True</property>
                             <property name="position">1</property>
                           </packing>
                         </child>
                       </object>
                       <packing>
-                        <property name="left_attach">0</property>
-                        <property name="top_attach">3</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="box43">
-                        <property name="visible">True</property>
-                        <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkSwitch" id="pointing_hover_click_switch">
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="pointing_hover_click_settings_button">
-                            <property name="label" translatable="yes">Options…</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">3</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkSwitch" id="pointing_second_click_switch">
-                        <property name="use_action_appearance">False</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="halign">end</property>
-                        <property name="valign">start</property>
-                        <property name="hexpand">True</property>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">2</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                    <child>
-                      <object class="GtkBox" id="pointing_video_mouse_value_box">
-                        <property name="can_focus">False</property>
-                        <property name="orientation">vertical</property>
-                        <property name="spacing">6</property>
-                        <child>
-                          <object class="GtkSwitch" id="pointing_video_mouse_switch">
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="can_focus">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">0</property>
-                          </packing>
-                        </child>
-                        <child>
-                          <object class="GtkButton" id="pointing_video_mouse_settings_button">
-                            <property name="label" translatable="yes">Options…</property>
-                            <property name="use_action_appearance">False</property>
-                            <property name="visible">True</property>
-                            <property name="sensitive">False</property>
-                            <property name="can_focus">True</property>
-                            <property name="receives_default">True</property>
-                            <property name="halign">end</property>
-                            <property name="valign">start</property>
-                            <property name="hexpand">True</property>
-                          </object>
-                          <packing>
-                            <property name="expand">False</property>
-                            <property name="fill">True</property>
-                            <property name="position">1</property>
-                          </packing>
-                        </child>
-                      </object>
-                      <packing>
-                        <property name="left_attach">1</property>
-                        <property name="top_attach">1</property>
-                        <property name="width">1</property>
-                        <property name="height">1</property>
-                      </packing>
-                    </child>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkHBox" id="hbox13">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <child>
-                      <object class="GtkLinkButton" id="pointing_mouse_preferences_link">
-                        <property name="label" translatable="yes">Mouse Settings</property>
-                        <property name="use_action_appearance">False</property>
-                        <property name="visible">True</property>
-                        <property name="can_focus">True</property>
-                        <property name="receives_default">True</property>
-                        <property name="has_tooltip">False</property>
-                        <property name="relief">none</property>
-                      </object>
-                      <packing>
                         <property name="expand">False</property>
-                        <property name="fill">False</property>
-                        <property name="pack_type">end</property>
-                        <property name="position">0</property>
+                        <property name="fill">True</property>
+                        <property name="position">1</property>
                       </packing>
                     </child>
                   </object>
                   <packing>
                     <property name="expand">False</property>
-                    <property name="fill">False</property>
-                    <property name="pack_type">end</property>
-                    <property name="position">4</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
                   </packing>
                 </child>
               </object>
               <packing>
-                <property name="position">3</property>
-                <property name="tab_fill">False</property>
+                <property name="left_attach">0</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
-            <child type="tab">
-              <object class="GtkLabel" id="pointing_and_clicking_tab_label">
+            <child>
+              <object class="GtkSwitch" id="pointing_secondary_click_switch">
                 <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="label" translatable="yes">Pointing and Clicking</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+                <property name="valign">start</property>
+                <property name="hexpand">True</property>
               </object>
               <packing>
-                <property name="position">3</property>
-                <property name="tab_fill">False</property>
+                <property name="left_attach">1</property>
+                <property name="top_attach">0</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSwitch" id="pointing_hover_click_switch">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="halign">end</property>
+                <property name="valign">start</property>
+                <property name="hexpand">True</property>
+              </object>
+              <packing>
+                <property name="left_attach">1</property>
+                <property name="top_attach">1</property>
+                <property name="width">1</property>
+                <property name="height">1</property>
               </packing>
             </child>
           </object>
           <packing>
-            <property name="expand">False</property>
-            <property name="fill">False</property>
-            <property name="position">0</property>
+            <property name="expand">True</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
           </packing>
         </child>
       </object>
     </child>
+    <action-widgets>
+      <action-widget response="0">pointing_done</action-widget>
+    </action-widgets>
   </object>
-  <object class="GtkSizeGroup" id="hearing_sizegroup"/>
-  <object class="GtkSizeGroup" id="hover_click_sizegroup">
+  <object class="GtkSizeGroup" id="sizegroup1">
     <widgets>
-      <widget name="pointing_dwell_threshold_label"/>
-      <widget name="pointing_dwell_delay_label"/>
       <widget name="pointing_secondary_click_delay_label"/>
-    </widgets>
-  </object>
-  <object class="GtkSizeGroup" id="pointing_scale_sizegroup">
-    <property name="ignore_hidden">True</property>
-    <widgets>
-      <widget name="pointing_dwell_threshold_scale"/>
-      <widget name="pointing_dwell_delay_scale"/>
-      <widget name="pointing_secondary_click_delay_scale"/>
-    </widgets>
-  </object>
-  <object class="GtkSizeGroup" id="pointing_sizegroup">
-    <widgets>
-      <widget name="pointing_dwell_threshold_label"/>
       <widget name="pointing_dwell_delay_label"/>
-      <widget name="pointing_secondary_click_delay_label"/>
+      <widget name="pointing_dwell_threshold_label"/>
     </widgets>
   </object>
-  <object class="GtkSizeGroup" id="seeing_sizegroup"/>
-  <object class="GtkSizeGroup" id="sizegroup1">
-    <property name="ignore_hidden">True</property>
-  </object>
-  <object class="GtkSizeGroup" id="typing_sizegroup"/>
 </interface>
diff --git a/panels/universal-access/zoom-options.ui b/panels/universal-access/zoom-options.ui
index 4a8705c..ac50357 100644
--- a/panels/universal-access/zoom-options.ui
+++ b/panels/universal-access/zoom-options.ui
@@ -834,7 +834,7 @@
                                 <property name="visible">True</property>
                                 <property name="can_focus">False</property>
                                 <property name="row_spacing">16</property>
-                                <property name="column_spacing">2</property>
+                                <property name="column_spacing">12</property>
                                 <child>
                                   <object class="GtkLabel" id="inverse_lightness_label">
                                     <property name="visible">True</property>
@@ -843,7 +843,6 @@
                                     <property name="label" translatable="yes">White on black:</property>
                                     <property name="justify">right</property>
                                     <property name="mnemonic_widget">inverseEnabledSwitch</property>
-                                    <property name="width_chars">12</property>
                                     <accessibility>
                                       <relation type="label-for" target="inverseEnabledSwitch"/>
                                     </accessibility>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]