diff --git a/accessible/src/html/nsHTMLSelectAccessible.cpp b/accessible/src/html/nsHTMLSelectAccessible.cpp index d3785f7896fa..07f38ab0f631 100644 --- a/accessible/src/html/nsHTMLSelectAccessible.cpp +++ b/accessible/src/html/nsHTMLSelectAccessible.cpp @@ -462,7 +462,18 @@ NS_IMETHODIMP nsHTMLSelectOptionAccessible::GetAccNextSibling(nsIAccessible **aA // Get next sibling and if found create and return an accessible for it // When getting the next sibling of an SelectOption we could be working with // either an optgroup or an option. We process this tree as flat. + *aAccNextSibling = nsnull; + if (mNextSibling) { + if (mNextSibling != DEAD_END_ACCESSIBLE) { + NS_IF_ADDREF(*aAccNextSibling = mNextSibling); + } + return NS_OK; + } + if (!mParent) { + // Don't try the following algorithm without a parent select accessible + return NS_OK; + } nsCOMPtr next = mDOMNode, currentNode; nsCOMPtr accService(do_GetService("@mozilla.org/accessibilityService;1"));