diff --git a/accessible/src/html/HTMLSelectAccessible.cpp b/accessible/src/html/HTMLSelectAccessible.cpp index 2967cbc9ab95..fc1f7de8dd5c 100644 --- a/accessible/src/html/HTMLSelectAccessible.cpp +++ b/accessible/src/html/HTMLSelectAccessible.cpp @@ -16,15 +16,10 @@ #include "States.h" #include "nsCOMPtr.h" -#include "nsIFrame.h" +#include "nsHTMLOptionElement.h" #include "nsIComboboxControlFrame.h" -#include "nsIDocument.h" -#include "nsIDOMHTMLInputElement.h" -#include "nsIDOMHTMLOptGroupElement.h" -#include "nsIDOMHTMLSelectElement.h" +#include "nsIFrame.h" #include "nsIListControlFrame.h" -#include "nsIServiceManager.h" -#include "nsIMutableArray.h" using namespace mozilla::a11y; @@ -238,30 +233,24 @@ HTMLSelectOptionAccessible::NativeState() return state; // Are we selected? - bool isSelected = false; - nsCOMPtr option(do_QueryInterface(mContent)); - if (option) { - option->GetSelected(&isSelected); - if (isSelected) - state |= states::SELECTED; - } + nsHTMLOptionElement* option = nsHTMLOptionElement::FromContent(mContent); + bool selected = option && option->Selected(); + if (selected) + state |= states::SELECTED; if (selectState & states::OFFSCREEN) { state |= states::OFFSCREEN; - } - else if (selectState & states::COLLAPSED) { + } else if (selectState & states::COLLAPSED) { //