Index: src/lib/elm_priv.h
===================================================================
--- src/lib/elm_priv.h	(리비전 72431)
+++ src/lib/elm_priv.h	(작업 사본)
@@ -278,6 +278,8 @@ void                 _elm_config_font_overlay_appl
 Eina_List           *_elm_config_text_classes_get(void);
 void                 _elm_config_text_classes_free(Eina_List *l);
 
+void                 _elm_config_access_set(Eina_Bool is_access, const char* module);
+
 Elm_Font_Properties *_elm_font_properties_get(Eina_Hash **font_hash, const char *font);
 Eina_Hash           *_elm_font_available_hash_add(Eina_Hash *font_hash, const char *full_name);
 void                 _elm_font_available_hash_del(Eina_Hash *hash);
Index: src/lib/elm_config.c
===================================================================
--- src/lib/elm_config.c	(리비전 72431)
+++ src/lib/elm_config.c	(작업 사본)
@@ -526,6 +526,44 @@ _elm_config_font_overlays_list(void)
    return _elm_config->font_overlays;
 }
 
+void _elm_config_access_set(Eina_Bool is_access, const char* module)
+{
+   char buf[PATH_MAX];
+   char *temp = NULL;
+   buf[0] = '\0';
+
+   temp = strstr(_elm_config->modules, module);
+   if (_elm_config->access_mode == is_access && temp) return;
+
+   /* 1. enable,disable access mode */
+   _elm_config->access_mode = !!is_access;
+
+   if (!_elm_config->access_mode)
+     {
+        // take LEFT side of access module
+        if (strlen(_elm_config->modules) > strlen(temp))
+          snprintf(buf, sizeof(buf), "%.*s", 
+                   (strlen(temp) - strlen(module)) ?
+                   (strlen(_elm_config->modules) - strlen(temp)) :
+                   (strlen(_elm_config->modules) - strlen(temp) - 1) ,
+                   _elm_config->modules);
+        // take RIGHT side of access module
+        if (strlen(temp) - strlen(module))
+          snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf) - 1,
+                   "%s", temp + strlen(module) + 1);
+     }
+   else
+     {
+        // the module is already registered
+        if (temp) return;
+        if (_elm_config->modules)
+          snprintf(buf, sizeof(buf), "%s:%s", module, _elm_config->modules);
+     }
+   /* 2. adopt reconfigured moduels */
+   eina_stringshare_replace(&_elm_config->modules, buf);
+   _elm_module_parse(_elm_config->modules);
+}
+
 void
 _elm_config_font_overlay_set(const char    *text_class,
                              const char    *font,
@@ -1694,6 +1732,12 @@ elm_config_font_overlay_list_get(void)
 }
 
 EAPI void
+elm_config_access_set(Eina_Bool is_access, const char* module)
+{
+   _elm_config_access_set(!!is_access, module);
+}
+
+EAPI void
 elm_config_font_overlay_set(const char    *text_class,
                      const char    *font,
                      Evas_Font_Size size)
Index: src/lib/elm_config.h
===================================================================
--- src/lib/elm_config.h	(리비전 72431)
+++ src/lib/elm_config.h	(작업 사본)
@@ -689,6 +689,21 @@ EAPI const Eina_List *elm_config_font_overlay_list
 EAPI void             elm_config_font_overlay_set(const char *text_class, const char *font, Evas_Font_Size size);
 
 /**
+ * Set accessibility mode and module
+ *
+ * @param is_accesss If EINA_TRUE enables accessibility
+ * @param module The module name to use for reading widget information 
+ *
+ * @note Elementary objects may have information (e.g. label on the elm_button)
+ * to be read. The installed @p module by default is @c access_output>access/api
+ *
+ * @since 1.1
+ *
+ * @ingroup Access 
+ */
+EAPI void             elm_config_access_set(Eina_Bool is_access, const char* module);
+
+/**
  * Unset a font overlay for a given Elementary text class.
  *
  * @param text_class Text class name
