diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 5e49279..2c005f3 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,16 @@
+2013-09-18  Mario Sanchez Prada  <mario.prada@samsung.com>
+
+        [ATK] Expose aria-haspopup and aria-sort without the 'aria-' prefix
+        https://bugs.webkit.org/show_bug.cgi?id=121495
+
+        Reviewed by Chris Fleizach.
+
+        Removed the 'aria-' prefix from the exposed ATK object attributes
+        for WAI-ARIA attributes 'aria-haspopup' and 'aria-sort'.
+
+        * accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
+        (webkitAccessibleGetAttributes): Removed the prefix.
+
 2013-09-17  Antti Koivisto  <antti@apple.com>
 
         Rename InlineBox::isText()
diff --git a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
index 95c9e61..76b760d 100644
--- a/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
+++ b/Source/WebCore/accessibility/atk/WebKitAccessibleWrapperAtk.cpp
@@ -489,7 +489,7 @@
         attributeSet = addToAtkAttributeSet(attributeSet, "placeholder-text", placeholder.utf8().data());
 
     if (coreObject->ariaHasPopup())
-        attributeSet = addToAtkAttributeSet(attributeSet, "aria-haspopup", "true");
+        attributeSet = addToAtkAttributeSet(attributeSet, "haspopup", "true");
 
     String invalidStatus = coreObject->invalidStatus().string();
     if (!invalidStatus.isEmpty() && invalidStatus != "false")
@@ -499,14 +499,11 @@
     if (!helpText.isEmpty())
         attributeSet = addToAtkAttributeSet(attributeSet, "aria-help", helpText.utf8().data());
 
-    const char* sortDescription = "AXUnknownSortDirection";
     AccessibilitySortDirection sortDirection = coreObject->sortDirection();
-    if (sortDirection == SortDirectionAscending)
-        sortDescription = "AXAscendingSortDirection";
-    else if (sortDirection == SortDirectionDescending)
-        sortDescription = "AXDescendingSortDirection";
-
-    attributeSet = addToAtkAttributeSet(attributeSet, "aria-sort", sortDescription);
+    if (sortDirection != SortDirectionNone) {
+        attributeSet = addToAtkAttributeSet(attributeSet, "sort",
+            sortDirection == SortDirectionAscending ? "ascending" : "descending");
+    }
 
     return attributeSet;
 }
