code: def find_bidi(self, el):
          
  
          for node in self.get_children(el, tags=False):
  
              # Analyze child text nodes
              if self.is_tag(node):
  
                  # Avoid analyzing certain elements specified in the specification.
                  direction = DIR_MAP.get(util.lower(self.get_attribute_by_name(node, 'dir', '')), None)
                  if (
                      self.get_tag(node) in ('bdi', 'script', 'style', 'textarea', 'iframe') or
                      not self.is_html_tag(node) or
                      direction is not None
                  ):
                      continue  # pragma: no cover
  
                  # Check directionality of this node's text
                  value = self.find_bidi(node)
                  if value is not None:
                      return value
  
                  # Direction could not be determined
                  continue  # pragma: no cover
  
              # Skip `doctype` comments, etc.
              if self.is_special_string(node):
                  continue
  
              # Analyze text nodes for directionality.
              for c in node:
                  bidi = unicodedata.bidirectional(c)
                  if bidi in ('AL', 'R', 'L'):
                      return ct.SEL_DIR_LTR if bidi == 'L' else ct.SEL_DIR_RTL
          return None
docs: Get directionality from element text.