Anyway, if you need to access shadowRoot for some reason, you should do that in `@override void enteredView()`. Don't forget to call `super.enteredView()` *at the top* of that function. 

Read more [here](http://www.polymer-project.org/getting-started.html) (search for "ready()") and [here](http://www.polymer-project.org/faq.html) ("Why do elements report zero (light DOM) children..."):

>It’s generally a mistake to attempt to reference an element’s children (light dom) in either the createdCallback or Polymer’s ready() method. When these methods are fired, the element is not guaranteed to be in the DOM or have children. In addition, Polymer calls TemplateBinding.createInstance() on an element’s <template> to create its Shadow DOM. This process creates and binds elements in the template one by one.

>The best time to take a first look at an element’s children is in the enteredView callback. This is when the element is in the DOM, has a parent, and possibly children. If you need to see changes to light DOM children after that, setup a Mutation Observer to do so.