Closed Bug 355521 Opened 18 years ago Closed 14 years ago

Expose CSS visibility and CSS visibility changes properly

Categories

(Core :: Disability Access APIs, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: aaronlev, Unassigned)

References

(Blocks 2 open bugs)

Details

(Keywords: access)

When CSS visibility: visible is used, it overrides any visibility set in an ancestor.

Therefore, we need to fix several things:
1) It should not be like display: none, where we don't even bother walking the subtree looking to create accessible objects. We should continue to walk the subtree, but just don't create an object if (!frame->GetStyleVisibility()->IsVisible())
2) We should fire a different notification for visibility changes ( in nsFrameManager::ReResolveStyleContext) than we do for changes where something is being created or destroyed for another reason (in nsCSSFrameConstructor::RecreateFramesForContent).

The accessibility system should make sure that multiple changes are coallesced intelligently. For example:

<div style="visibility: visible">
  <div style="visibility: hidden">
    Content
  </div>
</div>

Reversing both visibility values actually makes "Content" become visible. We need to make sure that sane events are fired for that situation.
Blocks: htmla11y
No longer blocks: keya11y
Mass un-assigning bugs assigned to Aaron.
Assignee: aaronleventhal → nobody
Depends on: 606125
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.