diff -ru unity-greeter-0.1.1-orig//src/user-list.vala unity-greeter-0.1.1/src/user-list.vala
--- unity-greeter-0.1.1-orig//src/user-list.vala	2011-09-28 05:32:51.000000000 +0000
+++ unity-greeter-0.1.1/src/user-list.vala	2012-03-07 15:13:33.000000000 +0000
@@ -604,11 +604,25 @@
     }
 
     private void screen_reader_toggled_cb (Gtk.CheckMenuItem item)
-    {
-        var settings = new Settings ("org.gnome.desktop.a11y.applications");
-        settings.set_boolean ("screen-reader-enabled", item.active);
-        settings = new Settings ("org.gnome.desktop.interface");
-        settings.set_boolean ("toolkit-accessibility", item.active);
+    {   
+        /* FIXME: The below would be sufficient if gnome-session were running
+         * to notice and run a screen reader in /etc/xdg/autostart...  But
+         * since we're not running gnome-session, we hardcode orca here.
+        /*var settings = new Settings ("org.gnome.desktop.a11y.applications");*/
+        /*settings.set_boolean ("screen-reader-enabled", item.active);*/
+
+        /* Hardcoded orca: */
+        try
+        {   
+            if (item.active)
+                Process.spawn_command_line_async ("orcawrapper");
+            else
+                Process.spawn_command_line_async ("orca --quit");
+        }
+        catch (Error e)
+        {   
+            warning ("Failed to run Orca: %s", e.message);
+        }
     }
 
     public void show_message (string text, bool error = false)
